web环境下的hhvm性能测试

最近在调研hhvm,所以看了一些hhvm相关的文章,从各个参考文章来看,据说hhvm比目前使用的PHP解释器快60%,而使用内存减少90%。本着对hhvm高性能的好奇心做了一些测试,但是对于测试结果,我只想说呵呵、、、当然这些仅供大家学习参考。

一、测试简介:

 HipHop VM(HHVM)是Facebook推出的用来执行PHP代码的虚拟机,它是一个PHP的JIT(Just-In-Time)编译器,同时具有产生快速代码和即时编译的优点。根据Facebook透漏,HHVM在速度方面获得了显著改进,比目前使用的PHP解释器快60%,而使用内存减少90%。

二、测试目的:

HHVM虚拟机以Jit和fastcgi方式执行PHP程序的性能,比PHP原生性能是否有提高。

三、测试环境:

服务器系统:CentOS release 6.3 (Final)    CPU:16核  Intel(R) Xeon(R) CPU  E5620  @ 2.40GHz    内存: 16G

软件环境: HHVM虚拟机版本:HipHop VM 3.1.0
                   PHP版本:PHP5.3.28
                   NGINX版本:NGINX 1.2.8

四、测试工具:

ApacheBench(ab)版本:  ApacheBench 2.3

五、测试策略:

一)、普通动态业务测试

根据hhvm官网提供,大概总结了hhvm有这三种运行方式。
(1)nginx + hhvm fastcgi(nginx作为服务器,hhvm作为fastcgi方式开启)
(2)hhvm(本身作为server)
(3)nginx + hhvm server(hhvm本身作为服务器,nginx作为proxy)
但是据官方建议使用fastcgi模式运行,所以将进行如下的测试对比。

(nginx + php fastcgi)     vs    (nginx + hhvm fastcgi)

1、下面将分为三个层面的逻辑对hhvm和php进行对比测试

1)、test.php(简单的输出helloworld)

2)、caculate.php(简单的动态累加计算输出计算结果)

3)、login.php(图文直播业务代码输出登陆页面)

2、测试效果图如下:







二)、cpu测试

1、cacultate.php(累加计算并输出计算结果)
2、fibonacci.php(斐波拉契数列计算并输出计算结果)

在cpu达到将近跑满的情况下,查看每秒钟的请求数量。来判断cpu效率情况。
备注:之所以对斐波拉契数列进行对比测试,是因为发现官网上说hhvm在执行斐波拉契数列计算的时候比php效果更佳。如下官网截图:


我的测试效果图如下:





经过测试效果来看,的确,在处理斐波拉契数列计算上,在cpu将近跑满的状态下,hhvm每秒钟处理的请求数确实比php的多了数倍。 但是从动态累加计算来看,php比hhvm效果要好。

该测试中斐波拉契相关结果HHVM2.4基准测试》 一致。

六、测试总结:

1、以上RPS数据表明对于普通动态业务而言,HHVM3.1并发性能不如php。

2、以上TPR数据表明在并发数相同的情况下,HHVM3.1的耗时比php高。

3、从cpu的测试效果来看,对于cpu密集型业务,hhvm和php各有优势。(譬如在斐波拉契数列计算上hhvm效果好,但是在累加计算上php表现更好)

综上所述:hhvm可能适合比较复杂的计算,而对于一般的动态业务并不需要hhvm来替代php。我个人觉得其一可能是hhvm本身作为server稳定性相对来说不是很稳定,其二,它本身可能不够成熟,支持php的扩展也不是很好。其三,它提供的fastcgi的接口可能没有php完善。不过hhvm可能还有很多优点和不足,个人理解能力有限。我只能从我测试的角度看出一些不足,如果大家发现其他的优点和不足,希望大家给我更好的建议,多多学习,多多益善。


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值