> On Fri, Nov 21, 2014 at 06:23:43PM +0100, Willy Tarreau wrote:
>> There were changes to the acl part but in theory this should not
>> impact performance, especially not like this. Are you sure you
>> compiled 1.5 the same way as you did for 1.4 ? Please run
>> "haproxy -vv" for both versions and output the result. It's possible
>> that you used libpcre for 1.4 and not for 1.5 for example. PCRE is
>> extremely fast in general and not using it could easily cause what
>> you're observing.
>
> yes, both use PCRE, difference is drammatic - 1.4 uses 25-30% CPU with
> nbproc 1 and 1.5 maxes out all cores with nbproc 8.

Just to be clear here: this happens only with real production load, not
for example with a single request from curl, correct?

Is Haproxy 1.4 linked against the same PCRE release?
Can you check out "ldd <haproxy-executable>" against 1.4 and 1.5?

Still, the PCRE release is pretty old.


You could compile PCRE locally (not installing it to your system) and
link haproxy statically against it (at this point with JIT).


Something like this should do it:

cd  ~/pcre-8.36
make clean
./configure --enable-jit --enable-utf --enable-shared=no && make

cd ~/haproxy
make clean
make TARGET=linux26[...] USE_STATIC_PCRE=1 USE_PCRE_JIT=1 \
PCRE_INC=~/pcre-8.36/ PCRE_LIB=~pcre-8.36/.libs




Regards,

Lukas

                                          

Reply via email to