On Wed, Oct 14, 2020 at 06:47:19AM +0200, Zsombor B wrote:
> I know this is a complicated question but what/where do you see
> possible bottlenecks in postfix?
> Is it CPU? RAM? Disk IO?
Whatever you have least of, relative to the workload you're expecting to
process :-) Generally speaking your limiting factor is the rate at
which downstream systems are willing to accept your mail. But if back-
pressure is not an issue, at some point you may be able to saturate your
network, or with spinning rust do run out I/O ops per second. CPU is
a factor if you're doing costly content inspection (anti-spam,
anti-virus, ...) at rates that saturate the available CPU resources.
More than a decade ago, I saw the queue manager as the ultimate rate
limiter at ~3k msgs/sec, with the CPU unable to process incoming
messages any faster. CPUs have gotten faster since.
> I'm building an infra to send out ~3-5 million emails a day.
5000000 / 86400 is ~60 msgs/sec
A single Postfix server can easily do multiple 100/sec, absent
backpressure, especially given SSD disks, or battery-backed caches in
the disk controllers.
Your problem is almost certainly downstream, especially if the
recipients are largely hosted by the giant freemail providers.
> Do you have any experience based recommendations on CPU, RAM or other
> tuning parameters?
None of the above matters, all that matters is your ability to get
whitelisted for that traffic volume, and/or use multiple distinct sender
IPs (perhaps in multiple /20'ish netblocks or ASNs) to stay under the
radar from any given IP. But that's non-trivial, so figure out how it
is that your email will be seen as desired by its recipients and
accepted by their mail providers without severe rate limits or outright
blocking.
--
Viktor.