Victor Duchovni: > > SwiftMail is submitting via SMTP. > > It sure looks like the SwiftMail engine is either not very swift, or > is configured well below peak throughput. Postfix is input-starved, > not output saturated. Does SwiftMail implement SMTP PIPELINING, do > you have verbose logging enabled slowing down message input? > > > As far as parallel submissions, we're only doing three at a time > > (three SwiftMail processes sending at a time). Our in_flow_delay > > parameter is set to 0. > > This is almost certainly way too low. To get peak utilization your > input concurrency should be in the 10-20 range, assuming that no > silly latency incurred in slow DNS resolution of the PTR and A > records of the connecting client. > > You need to look at the delay=a/b/c/d numbers of non-fallback mail and > determine the typical value of "a", this will give you the input engine > latency. To get throughput increase concurrency while making sure that > the output is keeping up and input latency is not spiking.
I agree with this assessment. Your mail sending process is CPU limited; it appears to saturate one of your two CPU cores and can't get more because of the way PHP works - one thread per application. Unfortunately, you don't have a lot of CPU headroom left to increase the mail injection rate by running more SwiftMail engines in parallel. You'll need to find a more efficient mail generator. Wietse