似乎现在用HHVM的还是很少的,最近新搭建的一个服务器上用的配置是这样的:
Ubuntu 14.04 64bit
Nginx 1.8.0
HHVM 3.7.0
MariaDB database
同时还有PHP5.5作为fallback,以php-fpm模式运行。
就现在最主流的应该是PHP5系列,就PHP5之中,还有5.4,5.5,5.6之分,还有旧的用5.3,5.2的。
PHP官方网站上首页上挂的是 5.4, 5.5, 5.6。而根据 w3techs 的统计,截至到今天,php5.3居然还有 41.9%。
PHP 5 的几个版本间的性能差异,之前我做过比较,PHP BENCH TEST RESULTS OF PHP 5.3, PHP 5.4, AND PHP 5.5
PHP5.3的性能是最差的。
那么HHVM又怎么样呢?
HHVM是一个开源的虚拟机,是被设计用来执行用Hack和PHP编写的程序。HHVM使用JIT编译方式来获取超级的性能,并且同时保持PHP语言的灵活性。
上面算是一个定义吧,里面有两个词,Hack和JIT,Hack是语言名称。JIT是 Just In Time,意思是即时,实时,JIT编译器,就是在运行的时候先编译,再运行编译后的代码,所以在需要编译的那一次运行,耗时会多一点,编译后的重复运行,就不需要编译了,直接运行。
之前DavidYin做过一次测试,PHP Bench Test的结果在编译后运行时间只有1.438秒,而之前,测试的PHP5.5需要5.646秒。至少在测试的结果上来看是快了不是一点点。
那么看看其它人的测试,Mattias的测试是这样的,测试的平台上安装了Drupal站,有Memcached,但是关闭了Drupal的页面缓存,测试平台是CentOS 6.5 。
测试了PHP 5.4.30带有APC, PHP5.5.15带有OpCache,以及HHVM,用Apache的ab测试工具来测试100个requests。
看看最后的结果:
- PHP-FPM 5.4: 161.5 seconds for 100 requests
- PHP-FPM 5.5: 82 seconds for 100 requests
- HHVM 3.1: 58.5 seconds for 100 requests
vi HHVM versus PHP-FPM 5.4 vs PHP-FPM 5.5: performance comparison
从上面的各个方面来看,PHP 5系列的各个版本同HHVM相比,都是慢了许多,但是看PHP的未来版本,就是之前的PHP-NG,现在的PHP 7,情况可能会不同。虽然PHP 7还未发布正式版本,但开发版本已经出现很久,有不少的测试和比较可以观察。
以不同的网站来做比较,比如在Drupal 7.27上,PHP 7比HHVM快 4%;WordPress 4.1上面,PHP 7比HHVM略慢一点儿。vi
现在的情况是PHP 7同HHVM是在伯仲之间,不同的网站程序,有不同的表现,各有优势,但是这种优势有不是那么的大,所以未来会有什么的选择,还需要等着看,今年的十月中发布PHP 7 正式版,到时候会有很多评测出来的。