-
Notifications
You must be signed in to change notification settings - Fork 372
Description
Hi,
I implemented a PHP-PM adapter for Ubiquity framework, which I test the performance on TechEmpower benchmarks.
For the moment, the results are not conclusive (see Ubiquity and Ubiquity-react).
For the Multiple Queries test, which requires a connection to the database and could have benefited php-pm, I have the following results:
Responses per second for multiple queries test (1, 5, 10, 15, 20), concurrency level of 512:

The source code and configuration are available on TechEmpower repository.
The PHP-PM test (currently called Ubiquity-react) uses php-pm as a web server and load balancer.
Dockerfile to build & run is ubiquity-react.dockerfile.
I have the same symptoms as @oozone with Laravel (see #453): poor performance, and warning on some requests:
Script did not return a valid HTTP response. Maybe it has called exit() prematurely?
I also tried to manually test the script with ab:
At concurrency level 5, php-pm is more efficient than php-fpm
PHP-PM

Apache

If I increase the concurrency level, performance degrades for php-pm:
PHP-PM

Apache

TechEmpower multiple query tests are run at 512 concurrency...
At this level, my php-pm use generates warnings.
The results are the same for the other tests (Plaintext or Json).
I wonder if I'm doing something wrong somewhere.
The adjustment of the number of workers does not change much in this context.