PHP 5.5 / PHP5.6 / PHP-NG 和 HHVM 哪个性能更好?
结论:它们反映出HHVM的功效更佳(在JIT热启动后),虽然出于某些原因,我们不能在所有装备中获取这些结果。
- HHVM只能以单个用户运行,这意味着(在共享环境中)安全性差了
- HHVM在崩溃后不会自动重启,而不幸的是,它至今仍然经常发生
- HHVM在启动时使用大量内存,虽然,它和同规模的PHP-FPM比较,单个请求的内存使用量更低
很显然,你不得不根据你的(或者更确切地说是你的站点)的需求采取折中方案,然而这值得吗?切换到HHVM后,你期望获得多少性能改善呢?
- DigitalOcean 4GB 雨滴容器 (2 CPU核心, 4GB RAM)
- Ubuntu 14.04, MariaDB10
- 测试站点: 已导入演示内容的Munditia主题,WooCommerce 2.1.12 & WordPress 3.9.1
- PHP 5.5.9, PHP 5.5.15, PHP 5.6.0 RC2, PHP-NG (20140718-git-6cc487d)和HHVM 3.2.0 (版本是PHP 5.6.99-hhvm)
没有进一步大费周章,这些就是我的测试结果,数值越低越好,以秒为单位:
DigitalOcean 4GB 雨滴容器
看起来似乎PHP-NG在它首次运行后就获得了峰值性能!HHVM需要更多几次重载,但是它们的性能貌似差不多!我等不及PHP-NG合并到开发主干了!:)
- 执行: 236 hits
- 可用性: 100.00 %
- 消耗时间: 59.03 secs
- 传输的数据: 2.40 MB
- 回应时间: 2.47 secs
- 执行率: 4.00 trans/sec
- 吞吐量: 0.04 MB/sec
- 并发数: 9.87
- 成功的执行: 236
- 失败的执行: 0
- 最长执行: 4.44
- 最短执行: 0.48
- 执行: 441 hits
- 可用性: 100.00 %
- 消耗时间: 59.55 secs
- 传输的数据: 4.48 MB
- 回应时间: 1.34 secs
- 执行率: 7.41 trans/sec
- 吞吐量: 0.08 MB/sec
- 并发数: 9.91
- 成功的执行: 441
- 失败的执行: 0
- 最长执行: 2.19
- 最短执行: 0.64
- 执行: 207 hits
- 可用性: 100.00 %
- 消耗时间: 59.87 secs
- 传输的数据: 2.10 MB
- 回应时间: 2.80 secs
- 执行率: 3.46 trans/sec
- 吞吐量: 0.04 MB/sec
- 并发数: 9.68
- 成功的执行: 207
- 失败的执行: 0
- 最长执行: 3.65
- 最短执行: 0.54
- 执行: 412 hits
- 可用性: 100.00 %
- 消耗时间: 59.03 secs
- 传输的数据: 4.18 MB
- 回应时间: 1.42 secs
- 执行率: 6.98 trans/sec
- 吞吐量: 0.07 MB/sec
- 并发数: 9.88
- 成功的执行: 412
- 失败的执行: 0
- 最长执行: 1.93
- 最短执行: 0.34