yaf 一直宣称性能爆炸,是一般框架的几十倍,一直不太相信,看了官网文章中的ab测试,本地是xampp环境,Apache自带ab,正好可以测试一下,感觉差距还是蛮大的,我的数据太差了。

这是yaf跟原生php进行的比较,作者也说了,yaf相较于原生框架有一个载入controller的步骤,所以可能会有10%左右的性能消耗,但这并不是跟任意框架(ci,yii,laravel之类)的比较。

指令:

切换到d:/xampp/apache/bin目录下(也是ab可执行文件所在目录)

原生php

./ab -n1000 -c100 http://127.0.0.1/yaf_test/NativePHP/orig.php

yaf基础架构

./ab -n1000 -c100 http://127.0.0.1/yaf_test/yaf/index.php

其中,-n后接的是请求次数,-c后接的是请求并发级别。

我的xampp环境在并发100,200还可以执行,再往上xampp就会直接挂掉,然后提示你关闭xampp-control程序。所以最好从小一点的并发开始,并且时刻观察内存使用情况。

在文档中提到一个vmstat的查看内存使用情况的工具,搜索了一下这个指令,在输出中有个id项,代表内存空闲时间百分比。在执行ab压力测试时,id值越大,说明内存消耗越低,性能越高(这是我的想法)。