<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <meta name="generator" content="Osso Notes">
    <title></title></head>
<body>
<p>hi,
<br>
<br>in that case it might make sense to add a parameter to control initial allocation size or create a heuristic to automatically adjust that.
<br>
<br>did you notice performance issues? how many messages are you processing? did the cpu usage of syslog-ng increase dramatically at one point as you were adding more and more name-value pairs?
<br>
<br>thanks for the info.
<br>
<br>----- Original message -----
<br>&gt; Back in December there was discussion of the payload_reallocs statistic.
<br>&gt; 
<br>&gt; <a href="https://lists.balabit.hu/pipermail/syslog-ng/2012-December/019842.html">https://lists.balabit.hu/pipermail/syslog-ng/2012-December/019842.html</a>
<br>&gt; 
<br>&gt; 
<br>&gt;&nbsp; &#32;&gt;
<br>&gt;&nbsp; &#32;&gt;&gt; *global;payload_reallocs;;a;processed;760*
<br>&gt;&nbsp; &#32;&gt;
<br>&gt;&nbsp; &#32;&gt;this counts the number of reallocs of the message payload. syslog-ng
<br>&gt; sizes the allocated buffer &gt;with a simple heuristics in the hope that
<br>&gt; parsing, rewrite rules will not cause it to grow. &gt;in your case
<br>&gt; syslog-ng had to do a realloc for 760 messages. if this happens to be
<br>&gt; close to &gt;all messages you processed, it's the cause for performance
<br>&gt; degradation. &gt; &gt;if it's a minority then you probably don't have to care.
<br>&gt;&nbsp; &#32;&gt;
<br>&gt;&nbsp; &#32;&gt;if the first one is true, I'd like to know about it.
<br>&gt;&nbsp; &#32;&gt;
<br>&gt;&nbsp; &#32;&gt;right now the allocated size is twice the length of the incoming
<br>&gt; message. &gt;
<br>&gt; 
<br>&gt; 
<br>&gt; Well, You wanted to know if this happens for nearly all of the messages
<br>&gt; required realloc
<br>&gt; 
<br>&gt; Syslog-ng OSE 3.3.7
<br>&gt; 
<br>&gt; The d_archive destination receives all of our messages;
<br>&gt; 
<br>&gt; global;payload_reallocs;;a;processed;61142004
<br>&gt; destination;d_archive;;a;processed;31650382
<br>&gt; 
<br>&gt; about 15 seconds later
<br>&gt; 
<br>&gt; global;payload_reallocs;;a;processed;61197495
<br>&gt; destination;d_archive;;a;processed;31680143
<br>&gt; 
<br>&gt; This means that for
<br>&gt; 
<br>&gt; # messages = 29761
<br>&gt; # reallocs = 55491
<br>&gt; 
<br>&gt; or approximately 2 reallocs for each message.
<br>&gt; 
<br>&gt; We make heavy use of patternDB to apply meta data to messages,
<br>&gt; 
<br>&gt; 
<br>&gt; 
<br><br></p>
</body>
</html>