Hello,

Am 19.01.2018 um 15:48 schrieb Luca Toscano:
Hi Hajo,

2018-01-19 13:23 GMT+01:00 Hajo Locke <hajo.lo...@gmx.de <mailto:hajo.lo...@gmx.de>>:

    Hello,

    thanks Daniel and Stefan. This is a good point.
    I did the test with a static file and this test was successfully
    done within only a few seconds.

    finished in 20.06s, 4984.80 req/s, 1.27GB/s
    requests: 100000 total, 100000 started, 100000 done, 100000
    succeeded, 0 failed, 0 errored, 0 timeout

    so problem seems to be not h2load and basic apache. may be i
    should look deeper into proxy_fcgi configuration.
    php-fpm configuration is unchanged and was successfully used with
    classical fastcgi-benchmark, so i think i have to doublecheck the
    proxy.

    now i did this change in proxy:

    from
    enablereuse=on
    to
    enablereuse=off

    this change leads to a working h2load testrun:
    finished in 51.74s, 1932.87 req/s, 216.05MB/s
    requests: 100000 total, 100000 started, 100000 done, 100000
    succeeded, 0 failed, 0 errored, 0 timeout

    iam surprised by that. i expected a higher performance when
    reusing backend connections rather then creating new ones.
    I did some further tests and changed some other php-fpm/proxy
    values, but once "enablereuse=on" is set, the problem returns.

    Should i just run the proxy with enablereuse=off? Or do you have
    an other suspicion?



Before giving up I'd check two things:

1) That the same results happen with a regular localhost socket rather than a unix one.
I changed my setup to use tcp-sockets in php-fpm and proxy-fcgi. Currently i see the same behaviour.
2) What changes on the php-fpm side. Are there more busy workers when enablereuse is set to on? I am wondering how php-fpm handles FCGI requests happening on the same socket, as opposed to assuming that 1 connection == 1 FCGI request.
If "enablereuse=off" is set i see a lot of running php-workerprocesses (120-130) and high load. Behaviour is like expected. When set "enablereuse=on" i can see a big change. number of running php-workers is really low (~40). The test is running some time and then it stucks. I can see that php-fpm processes are still active and waiting for connections, but proxy_fcgi is not using them nor it is establishing new connections. loadavg is low and benchmarktest is not able to finalize. May be a kind of communicationproblem and checking health/busy status of php-processes.
Whole proxy configuration is  this:

<Proxy "unix:/dev/shm/php70fpm.sock|fcgi://php70fpm">
    ProxySet enablereuse=off flushpackets=On timeout=3600 max=15000
</Proxy>
<FilesMatch \.php$|\.php70$>
   SetHandler "proxy:fcgi://php70fpm"
</FilesMatch>


Luca

Alltogether i have collected interesting results. this should be remarkable for Stefan, because some results are not as expected. I will show this results in separate mail, to not mix up with this proxy problem.

Thanks,
Hajo

Reply via email to