On October 25th 2008, I did some informal performance tests using a tool included in the postfix codebase (thanks guys!). The tool is smtp-source. It has lots of tuning options of which I only used a few.

  • -s X Number of concurrent sessions or mail delivery threads
  • -l X Size of the email body in bytes
  • -m X Number of messages to deliver
  • -c Display a counter of messages
  • -f X Email address for the From: header
  • -t X Email address to deliver mail to

The command line that I used for this testing was (run from the bongo server):

-s 40 -l 10120 -m 300 -c -f load@feltonline.com -t load@bongo-test.info localhost:25

The hardware for this test was a Xen VM running on an AMD 64 2.0Ghz single core with 256 MB Ram allocated to it. The dom0 on the Xen provides ip routing functionality but was otherwise idle. Bongo on this system was limited to bongostore (running in gdb), bongoqueue (running in gdb), bongosmtpd, and bongoimap. This will have added overhead as well.

There are two values reported here. The first is the wall time smtp-source used to deliver all the emails. The other is wall time until the queue reported that it was empty as determined by the 10s queue runner seen with debug turned on. (Debug will have slowed delivery a tad). This could also have added, at worst, 10 extra seconds to the wall time. I ran the test 6 times and have averaged the results.

  • Dropoff: 62.96867 s
  • Delivery: 78.33333 s

I plan on updating these stats as we move along, and also updating them with no debug/gdb.