[syslog-ng]performance test questions
Roberto Nibali
ratz@tac.ch
Thu, 30 Jan 2003 19:09:57 +0100
> Both TCP and UDP use the same code to send messages in 1.5.x and as it seems
> syslog-ng piggybacks messages together when writing messages. This is
> correct for TCP but incorrect for UDP.
Yes.
> The culprit is libol/src/pkt_buffer.c which uses stream based buffering in
> the 0.3 branch while it used a packet based one in 0.2
I see.
> As there are more than one message in a single UDP packet the packet can
> grow bigger than your MTU, thus packet fragmentation is done.
Exactly, although this should influence the loss too much, IMHO.
> Both can increase message loss (more than one message in a single packet,
> fragmentation) thus this is definitely a bug.
> I'll look into fixing this.
Thanks.
>>Another question: Why is there no message sent when a buffer reaches its
>>maximum size? This would help debugging and tuning a lot IMHO. Sorry if
>>this has been discussed before.
>>
>
> Because this message itself would fill your buffers. Instead syslog-ng
Doh (slaps forehead), Of course.
> reports the number of dropped messages in a separate message sent once every
> ten minutes (default).
Call me stupid but (assuming you mean the STATS part):
ratz@zar:~/down/log > find . -name "*.[ch]" -exec grep -n dropped_pkts /dev/null
{} \;
./libol-0.3.8/src/pkt_buffer.h:30:int pktbuf_dropped_pkts;
./syslog-ng-1.5.25/src/main.c:138: notice("STATS: dropped %i\n",
pktbuf_dropped_pkts);
./syslog-ng-1.5.25/src/main.c:139: pktbuf_dropped_pkts = 0;
ratz@zar:~/down/log >
What else then 0 should this code print? At least I've found the hardcoded
timeout in libol/src/io.c. :)
Thanks for your time,
Roberto Nibali, ratz
--
echo '[q]sa[ln0=aln256%Pln256/snlbx]sb3135071790101768542287578439snlbxq' | dc