吉佳 发表于 2016-10-26 10:13:05

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]
查看完整版本: HHVM 3.12.7 和 3.9.8 发布