HHVM 3.12.7 和 3.9.8 发布
ab -c100 -n1000 http://www.example.com/app/wordpress/ 在Ubuntu i5-3230M(双核四线程)上,100并发完成1000个请求,PHP7(开启opcache,5个PHP-FPM工作进程)每秒处理117个请求,HHVM则是每秒126个,性能差距很小.值得一提的是,HHVM没有热身时(第一次压测),每秒只能处理56个请求,而PHP7仍能处理117个请求.而且5个PHP-FPM工作进程占用的内存远比多线程架构的HHVM少.PHP-FPM进程数可以设为1.5倍CPU核心数,而且还可以配合FPM进程池分离I/O阻塞:
http://my.oschina.net/eechen/blog/541139
php-fpm: 正常脚本由静态www池处理,阻塞脚本由动态io池处理
;名为www的进程池监听9000端口,常驻进程数量为固定4个
listen = 127.0.0.1:9000
pm = static
pm.max_children = 4
;名为io的进程池监听9001端口,进程数常驻4个,最大8个
listen = 127.0.0.1:9001
pm = dynamic
pm.max_children = 8
pm.start_servers = 4
pm.min_spare_servers = 4
pm.max_spare_servers = 4
其中I/O密集这个进程池采用动态的prefork进程,比如这里是繁忙时8个,空闲时4个.
利用PHP-FPM提供的池的隔离性,分离计算密集和I/O密集操作,可以减少阻塞对整个PHP应用的影响.
跟着Facebook吃螃蟹的滋味不好受呀,不信你去看看百度尝到的HHVM苦果:
百度转HHVM遇到的问题:崩溃/内存泄露/兼容性/死锁/性能(JIT热身/没有触发JIT).
http://lamp.baidu.com/2014/11/04/hhvm-in-baidu/
PHP-FPM多进程要比HHVM的多线程稳定太多了,哈哈.
页:
[1]