Yes that was true in php 5.3
Since php 5.5 apc no longer works and has been replaced by the opcode cache.
However opcode is disabled with the uwsgi sapi (filed a bug report on
php bugs when 5.5.0 came out), it's not recognized as a supported sapi.
On 25.09.2013 15:04, Aarni Koskela wrote:
Using something like the PHP-APC module in PHP itself to cache the
compiled Zend Engine bytecode will probably make a large difference,
especially with framework-backed apps that require tons of files to be
accessed.
Just my 2c, I luckily don't have to do much with PHP anymore. :P
/ Aarni
*From:*[email protected]
[mailto:[email protected]] *On Behalf Of *Darko Luketic
*Sent:* Wednesday, September 25, 2013 4:00 PM
*To:* uWSGI developers and users list
*Subject:* Re: [uWSGI] PHP and concurrency
You were right. Thank you very much ?ukasz.
This sheds a completely different light.
It also explains why the first 9k requests passed so quickly and the
last 1k took longer.
I did the same with node.js and the express framework, raw node and
node+nginx.
The results blow me away.
requests/second
~3k for node/express ~200 more w/o nginx
raw php <?php echo "Hello World"; ?>
~7.2k
symfony 2.3.4, not a hello world app but no db queries
~20 , yes 20 not 20k
The same thing on Ubuntu with apache 2.2.22 and php-fpm, no failed
requests, same machine, a while back.
~14.4k raw php
~580 sf 2.2.1 hello world app
~6.1k php with phalcon hello world
~6.7k spring on tomcat 7.0.39 vanilla hello world app
This is weird. How can there be such a big difference?
I set nginx to 200 processes 1024 workers, btw no difference if 1
process 1024 workers or 200 processes 1024 workers.
The only thing that is different is that the projects are on a striped
zfs drive vs a lvm ext4 single partition and well php frameworks do a
lot of reading of files because of autoloading, many files - many
files accessed.
Are there other options to make the php plugin perform better? I know
it sounds like a lazy question, I'm also reading the docs and trying
to find something. It seems like uwsgi was written primarily for
python, I can't tell which option affects php and which doesn't. For
instance would threads work with php? If yes php would have to be
compiled with zts.
Of course I'm aware ab isn't a ... realistic load and concurrency
testing tool it only serves as an indicator.
_______________________________________________
uWSGI mailing list
[email protected]
http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi
_______________________________________________
uWSGI mailing list
[email protected]
http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi