On Thu, 4 Nov 2010, Marc Schiffbauer wrote:

On Thu, 4 Nov 2010, Marc Schiffbauer wrote:

Will the global MainMsgQueue maintain message order?

I believe that it will, but keep in mind that the settings needed to
try
and maintain message order are very different than the settings that
you
need to use to get best performance.

what sort of message rate are you talking about using?


About up to 3000 Messages/s

at that data rate you will have a very hard time doing things the way you are trying.

at the database level, doing 3000 inserts/sec requires _very_ high-end hardware. rsyslog supports inserting multiple messages in one command, and with that you could probably handle 3000 messages/sec on very low-end hardware (because rsyslog could insert messages in batches of 100 or more if needed). unfortunantly, when you enable this, you don't maintain the message order.

at the rsyslog level, doing disk based queues with everything tuned to come as close to minimizing the chance of data loss is very hard to do at that traffic level. I ran tests last year on a 8 core box with 64G of ram and a fusion-io SSD pci card, and depending on the filesystem I used, I was able to get from 2K to 8K messages/sec where I wasn't trying to do anything more than write the message to a log file.

you are going to have to think very hard about how critical it really is for you to maintain the same message order and what type of reliability you really need for your messages.

it's counter-intuitive, but it may be that you end up with better overall reliability with a much faster configuration that has worse 'worst-case' data loss, but is fast enough that under normal conditions everything is processed really fast than you would under a configuration that is much slower all the time, but has a better worst-case data loss.

David Lang
_______________________________________________
rsyslog mailing list
http://lists.adiscon.net/mailman/listinfo/rsyslog
http://www.rsyslog.com

Reply via email to