Hi Hajo, 2018-01-31 2:37 GMT-08:00 Hajo Locke <hajo.lo...@gmx.de>:
> Hello, > > > Am 22.01.2018 um 11:54 schrieb Hajo Locke: > > 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>: > >> 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. > > I did some further tests to solve this issue. I set ttl=1 for this Proxy > and achieved good performance and high number of working childs. But this > is paradoxical. > proxy_fcgi knows about inactive connection to kill it, but not reenable > this connection for working. > May be this is helpful to others. > > 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> > > Thanks a lot for following up and reporting these interesting results! Yann opened a thread[1] on dev@ to discuss the issue, let's follow up in there so we don't keep two conversations open. Luca [1]: https://lists.apache.org/thread.html/a9586dab96979bf45550c9714b36c49aa73526183998c5354ca9f1c8@%3Cdev.httpd.apache.org%3E