[syslog-ng] Stats dropped

Hari Sekhon hpsekhon at googlemail.com
Fri Feb 2 19:23:15 CET 2007


But I'm talking much higher numbers, I have had a log_fifo_size of 20000 
and it still dropped several thousand messages.

I have just taken the shotgun approach to the math and increased the 
log_fifo_size on the log server by the max number of dropped messages in 
the stats log. So now I've got a log_fifo_size of 50000 on my logserver 
and added 30000 to each agent syslog-ng.

I will see if I have any dropped stats in a few days to see how it's 
going...

-h

Hari Sekhon



Balazs Scheidler wrote:
> On Thu, 2007-02-01 at 18:24 +0000, Hari Sekhon wrote:
>   
>> yes this is what I was thinking but the server also dropped some. I will 
>> try to increase the fifo by the amount of dropped stats on the server, 
>> make it 40000 instead of 20000 and then on the agents give them a fifo 
>> of 30000 just to be safe. From what I've measure it doesn't seem to take 
>> much ram so this should be ok. Although this wasn't done at the times of 
>> heavier load when the machine's fifo is filling up.
>>
>> If anybody knows more on this or has some info on the mem consumption 
>> related to doing this then please let me know
>>     
>
> We have investigated a similar issue in-house, and as it seems the
> performance improvements in 1.6.10 and .11 and 2.0.0 increase the load
> on the destination buffers significantly, which in turn can cause
> message loss in cases where it did not occur before.
>
> For example, previously file destinations could only drop messages, if
> there were at least 100 log connections, producing a log message in a
> single poll iteration. (assuming log_fifo_size(100), the default).
>
> Later versions have a much higher probability of internal message drops.
> This can be solved with increasing log_fifo_size(), the out-of-the-box
> defaults seem to be unadequate right now.
>
> The problem is:
>   * message sources read maximum 30 messages at a single poll iteration 
>   * each socket connection on /dev/log is a message source in this sense
> (e.g. if there are 10 programs connecting to /dev/log, then a single
> input iteration can produce as much as 10*30 = 300 messages)
>   * these messages are put into the destination's fifo, with a default
> size of 100 messages.
>
> Previously each source generated at most 1 message per poll cycle, now
> it is increased to 30. It is trivial to see that the default
> log_fifo_size() value is not adequate.
>
> I'm thinking about increasing the default log_fifo_size to 1000 in 1.6.x
>
> syslog-ng 2.0 is also affected, albeit a bit differently:
>   * the number of messages fetched in a single go can be controlled by a
> configuration option (per source fetch_limit() option)
>   * its default value is 10 instead of 30
>
> I too think, that fifo size would be forced to a minimum value of 1000.
>
>   
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.balabit.hu/pipermail/syslog-ng/attachments/20070202/bc16b878/attachment.html


More information about the syslog-ng mailing list