Do you want to process 800.000 messages/sec?
Well, I’ve just measured the performance of syslog-ng PE 4.1 (it’s under development but releasing soon) in a little performance test, and it could process more than 800.000 messages/sec in multithreaded mode.
The performance environment was the same I used during measuring 4.0, but I added two extra client computers and a newer gigabit line, so the maximum transfer rate could be 2Gb/sec for the 3 client computers together. On the server there were no changes.
Because I wanted to do a real performance test, the messages were written into files but after I reached the maximum performance of the HDD, I created a second log path where I used /dev/null destination.
I used 150 bytes of messages and the runtime was 10 minutes. Then I started the loggens on all clients in the same time.
The results for the three clients(the first two used the same log path and the destination was file, the third used /dev/null destination. Also, “zbssyslogng” and “ztssyslogng” used the the same gigabit line, the second (“syslog-ng-perf1″) used a second gigabit line):
root@zbssyslogng:/opt/syslog-ng# bin/loggen -r 1000000 --active-connections=10 -I 600 -s 150 10.140.0.179 1999
average rate = 284284.76 msg/sec, count=170575200, time=600.015, (average) msg size=150, bandwidth=41619.29 kB/sec
root@syslog-ng-perf1:/opt/syslog-ng# bin/loggen -r 1000000 –active-connections=10 -I 600 -s 150 192.168.20.2 1999
average rate = 269683.63 msg/sec, count=161811024, time=600.003, (average) msg size=150, bandwidth=39481.68 kB/sec
root@ztssyslogng:/opt/syslog-ng# bin/loggen -r 1000000 –active-connections=10 -I 600 -s 150 10.140.0.179 1998
average rate = 263340.71 msg/sec, count=158013385, time=600.034, (average) msg size=150, bandwidth=38553.08 kB/sec
If I sum the above numbers: 284284+269683+263340 = 817307 msgs/sec. Nice, isn’t it?
For fans, just look the following picture:

Also, I measured the performance with 1024 bytes of messages:
Because the HDD of the server was too slow, I used only /dev/null destination for this test and used only two client computers, because I had only 2 gigabit lines.
The results:
root@zbssyslogng:/opt/syslog-ng# bin/loggen -r 1000000 --active-connections=1 -I 300 -s 1024 10.140.0.179 1999
average rate = 98442.40 msg/sec, count=29533354, time=300.006, (average) msg size=1024, bandwidth=98385.70 kB/sec
root@syslog-ng-perf1:/opt/syslog-ng# bin/loggen -r 1000000 –active-connections=1 -I 300 -s 1024 192.168.20.2 1999
average rate = 113906.23 msg/sec, count=34171872, time=300.000, (average) msg size=1024, bandwidth=113840.62 kB/sec
It’s 207 MB/sec… The end of the two gigabite lines. So it means that syslog-ng can process more than 700GB messages/hour or 17 TB/day. Now, I am going to get more gigabite lines ![]()
Of course my configuration was tuned for the maximum performance, but later I will make a full performance test for syslog-ng 4.1, where I measure different syslog-ng settings how affects to the performance.
However, don’t forget, syslog-ng PE 4.1 is not released yet, but it will be soon.


[...] pretty well, and scales nicely on an 8 core machine, up to 800k msg/sec in @some onfigurations. Here’s the post the has some more [...]
[...] limiting factor, not syslog-ng. The test were done using PE, but OSE performance should be similar: http://pzolee.blogs.balabit.com/2011/07/do-you-want-to-process-800-000-messagessec/ BalaBit call the features and technologies aimed compliance at a high performance HSRL (High Spead [...]
I’ve measured this case, the result:
259531 msg/sec in case of TLS -> 32% of without TLS.
TLS scales nicely too. IIRC it does about 1/4th of the performance of the plain transports. It’d make sense to run a profile on that too to see if it can be improved.
Detailed performance tests are in progress
I am looking forward to see some performance results when TLS is being used.