共计 2468 个字符,预计需要花费 7 分钟才能阅读完成。
摘要:在一个基于 Vagrant 的本地环境中,可能是某个错误的原因,导致 HHVM 测试结果很差;在 HHVM 伙伴们协助下,该原因仍在研究中!然而,在 DigitalOcean 的一个 4GB 虚拟机中,HHVM 甚至盖过了最新版的 PHP-NG 的风头!
结论:它们反映出 HHVM 的功效更佳(在 JIT 热启动后),虽然出于某些原因,我们不能在所有装备中获取这些结果。
如果你记得我们在几个月前写过一篇文章,那时 WordPress 3.9 表明是完全支持 HHVM 的,当时是那么令我们欢欣鼓舞。最初的基准测试结果显示,HHVM 要比驱动着当前所有 PHP 构建的 Zend 引擎高级得多。后来,问题就出来了:
- HHVM 只能以单个用户运行,这意味着(在共享环境中)安全性差了
- HHVM 在崩溃后不会自动重启,而不幸的是,它至今仍然经常发生
- HHVM 在启动时使用大量内存,虽然,它和同规模的 PHP-FPM 比较,单个请求的内存使用量更低
很显然,你不得不根据你的(或者更确切地说是你的站点)的需求采取折中方案,然而这值得吗?切换到 HHVM 后,你期望获得多少性能改善呢?
在 Kinsta,我们真的想要测试所有新技术,并通常会优化这一切来为我们的客户提供最佳的环境。今天,我最终花了点时间来配置测试环境并进行了一些测试来对比两个不同的构建,一个是全新出炉的 WordPress 安装,另外一个则添加了大量内容的 WooCommerce!为了计量脚本的运行时间,我只是简单地添加了
<?php timer_stop(1);?>
这一行到 footer.php 的 /body 标记前。
这里是配置环境的详情:
- 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 雨滴容器
单位是秒,运行 10 次,越低越好
看起来似乎 PHP-NG 在它首次运行后就获得了峰值性能!HHVM 需要更多几次重载,但是它们的性能貌似差不多!我等不及 PHP-NG 合并到开发主干了!:)
一分钟命中数,越高越好。
PHP 5.5.15 禁用 OpCache
- 执行: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
PHP 5.5.15 启用 OpCache
- 执行: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
PHP 5.6 RC2 禁用 OpCache
- 执行: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
PHP 5.6 RC2 启用 OpCache
- 执行: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
HHVM 3.2.0(版本是 PHP 5.6.99-hhvm)
- 执行:955 hits
- 可用性:100.00 %
- 消耗时间:59.69 secs
- 传输的数据:9.18 MB
- 回应时间:0.62 secs
- 执行率:16.00 trans/sec
- 吞吐量:0.15 MB/sec
- 并发数:9.94
- 成功的执行:955
- 失败的执行:0
- 最长执行:0.85
- 最短执行:0.23
PHP-NG 启用 OpCache(构建: Jul 29 2014)
- 执行:849 hits
- 可用性:100.00 %
- 消耗时间:59.88 secs
- 传输的数据:8.63 MB
- 回应时间:0.70 secs
- 执行率:14.18 trans/sec
- 吞吐量:0.14 MB/sec
- 并发数:9.94
- 成功的执行:849
- 失败的执行:0
- 最长执行:1.06
- 最短执行:0.13
注意:这里节略了前一次的测试结果(有误),如感兴趣请访问原文查看。
HHVM 的详细介绍 :请点这里
HHVM 的下载地址 :请点这里
推荐阅读 :
CentOS5 安装 Nginx1.4+PHP5.5 FastCGI http://www.linuxidc.com/Linux/2013-11/93313.htm
CentOS 安装 Apache 的 FastCGI 模块(mod_fastcgi)http://www.linuxidc.com/Linux/2013-08/88571.htm
Ubuntu Apache FastCGI 虚拟主机安装 http://www.linuxidc.com/Linux/2013-06/86691.htm
LNMP 基于 FastCGI 实现 Nginx,PHP,MySQL 的分离 http://www.linuxidc.com/Linux/2012-11/73993.htm
两台 Web 服务器 实现负载均衡 +FastCGI 模块 +MySQL 实现分布式架构 http://www.linuxidc.com/Linux/2012-07/65855.htm
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2015-04/115933.htm