因为公司要开发一个高并发的接口,为了节省服务器资源,所以对一些常见的框架进行调研,判断哪一款性能符合要求
前期准备
安装压力测试工具(我用的是ab)
ab全称为:apache bench
在官网上的解释如下:(推荐学习:PHP编程从入门到精通)
AB是Apache的超文本传输协议(HTTP)的性能测试工具。其设计意图是描绘当前所安装的的Apache的执行性能,主要是显示你安装的Apache的每秒可以处理多少个请求。
安装框架
我这里安装了yii2、ci、lumen5.0、tp5、biny框架
进行测试
将每个框架都链接本地数据库,打开缓存,进行两轮测试,分别为纯html页面和数据库运算页面
压测量为并发数20,总量300
测试结果
数据库运维压测结果如下:
纯html界面压测结果如下:
结果分析
原生脚本的抗压能力最强,但是开发效率低下,后期维护成本高,而且,这里只是简单的测试了一下数据库运算,具体项目的差距可能并没有这么大
ci和biny的并发效果是最好的,但是ci版本已经很老了,更新可能是个问题,而biny是腾讯最近开源的框架,在某些地方还存在缺陷,而且,文档也不够友好,目前只有框架中内嵌了官方文档,没有手册,且阅读性很差
tp5的效率虽然比不上上述三种框架,但是性能也还可以,对php7支持很好,问题是框架目录混乱,不利于大型项目开发
lumen和yii2的并发支持都不是很好,但是这两个框架本身功能非常强大,其中yii2对restful接口支持更友好,如果不差钱,还是建议用yii2进行restful接口规范进行开发
以上是php怎么压力测试的详细内容。更多信息请关注PHP中文网其他相关文章!