I’ve got most of the kinks ironed out in the “deliver” plugin now. It successfully temp fails mail well, and splits out recipients where some succeed and others fail. I’m sure there’s still lots of work to do on it, but I wanted to see how it performs anyway.
So I added a config option to disable delivery temporarily, and flooded it with postfix’s smtp-source.
That gave me a delivery (inbound) rate of 200 emails per second. That’s using 8 cores and smtp-source concurrency of 100, and writing everything to disk.
Then I turned on the queue, with an outbound max concurrency of 3000, and it emptied 10000 emails in 50 seconds (delivering to another Haraka instance on localhost).
All in, not bad results I think. Not 5000 emails a second by any stretch, but then disks are slow. I’m sure if I had SSDs it’d be a lot faster.