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