I have an smtp-server on java which I find rather slow. Tried other smtp servers for reference and found that postfix (cpp?) and samotop (rust) are even slower.
I’m running smtp-servers on the same hardware (2core celeron, linux)
rtt between client and server is 2ms, bandwidth is 1Gbps.
testing command
smtp-source -d -l 5000 -m 100000 -s 15 -S bench -f spam@server.net -t spam@server.net server.net:25
I’ve set Maildir/ in postfix to avoid writing a single mailbox-file
recipient is ordinary system user (no ldap and so on)
and these options seem related to concurrency
default_process_limit = 1000
in_flow_delay = 0s
-
With postfix I get about 2.5MBps (watching with dstat) and very
strange disk io of 25MBpsbottleneck is CPU (50% sys, 50% user), io utilization is close to
full, but still 83% -
With samotop I get 3MBps, disk io – 5MBps
bottleneck is CPU (50% sys, 50% user), io utilization is negligible
5% -
with subetha I get 8MBps, disk io – 10MBps
bottleneck is CPU (40% sys, 60% user), io utilization is negligible
5%
Can postfix be faster? My daily load is the same as benchmark: a lot of mail coming to single address (mail archiving).