I made some small tests to get an idea of the current response performance of pecl/http.
Test victim was a >300k PDF file served by Apache 2.0.55 running the worker MPM.
Full size chart, PDF with stats.
The legend should be read as follows:
php | = | request to a PHP script serving the PDF file by HttpResponse |
php-c | = | just like above, cached by ETag |
file | = | request to the PDF file served directly by Apache |
file-c | = | just like above, cached by ETag |
The results surprised me, because it clearly shows that the performance drop for starting the PHP engine and doing the neccessary negotiation to provide caching is not that bad. On the other side, PHPs throughput when actually serving the file is not exciting. The current CVS version of pecl/http contains some tweaks to improve that situation, but it didn't really work out as well as I hoped.