PHP框架性能测试报告

PHP框架性能测试报告
作为PHP开发人员,作为一个初创团队的技术开发人员,选择一个开发框架是一项艰巨的任务

用ThinkPHP,开发商们刚刚走出培训机构可以开始,但性能和以后的代码的解耦是一个头痛的问题。但很多第三方函数不需要写上自己的。

Laravel,传说是很好的,和扩展是足够的,但学习成本有点高,所以它不能给初级开发人员半个月的学习框架。这是说,河流和湖泊的人泄漏,Laravel的表现不是很好,该文件是不是特别丰富。

有一词,语法有点啰嗦,前后端分离代码有点麻烦,但性能很好,但有了意想不到的使用很多国内的公司,你可以很快找到丹尼尔的常见问题。

最好是做一个简单的绩效考核,而选择一个好的绩效永远不会出错。

性能测试

测试时间:06、2016、05个月

测试工具:围攻(因为AB的Mac系统总是出现pr_socket_recv:连接复位同行(54)误差,所以攻城选择)

试验机:MacPro酷睿i5处理器、8GB内存和256GB的SSD闪存

测试环境:Apache php5.6

ThinkPHP框架版本:5.2 3.2.3 laravel yii2.0.5

测试原理:每次测试周期5次,取中等数据。

附加说明:所有项目都在子目录

结果描述

事务请求总数:2119次点击处理
可用性:96.85%可用性
运行时间:9.74秒的运行时间
数据传输:1.31 MB数据传输
响应时间:0.60秒的响应时间
交易速率:每秒217.56转/秒处理效率
吞吐量:每秒0.13兆字节/秒处理数据
并发性:130.28并发
成功的交易:2162个成功的请求
失败的事务:69个失败请求
最长事务的最长单请求:2.85
最短事务的最短请求:0.01
开始测试

添加一个控制器,在控制器输入10000次helloworld

50圈10次:

这是我们的第一件事就是ThinkPHP,看起来好。
交易:500次点击
可用性:100%
运行时间:2.81秒
数据传输:52.45 MB
响应时间:0.26秒
交易率:177.94转/秒
吞吐量:18.67兆字节/秒
并发性:47.10
成功交易:500
失败的事务:0
最长事务:0.48
最短事务:0.03

然后laravle,嗯,有点失望。
交易:500次点击
可用性:100%
运行时间:13.33秒
数据传输:52.45 MB
响应时间:1.27秒
交易率:37.51转/秒
吞吐量:3.93兆字节/秒
并发性:47.55
成功交易:500
失败的事务:0
最长事务:3.64
最短事务:0.07

Yii在比赛之前
交易:500次点击
可用性:100%
运行时间:4.84秒
数据传输:52.45 MB
响应时间:0.46秒
交易率:103.31转/秒
吞吐量:10.84兆字节/秒
并发性:47.65
成功交易:500
失败的事务:0
最长事务:0.88
最短事务:0.04

200圈10次:

首先,ThinkPHP
交易:1977次点击
可用性:98.85%
运行时间:10.03秒
数据传输:207.40 MB
响应时间:0.95秒
交易率:197.11转/秒
吞吐量:20.68兆字节/秒
并发性:187.68
成功交易:1977
失败的事务:23
最长事务:1.22
最短事务:0.02

然后是Laravel
交易:1890次点击
可用性:94.50%
运行时间:51.85秒
数据传输:198.27 MB
响应时间:4.88秒
交易率:36.45转/秒
吞吐量:3.82兆字节/秒
并发性:178
成功交易:1890
失败的事务:110
最长事务:26.01
最短事务:0.07

最后,Yii
交易:1996次点击
可用性:99.80%
运行时间:18.95秒
数据传输:209.39 MB
响应时间:1.79秒
交易率:105.33转/秒
吞吐量:11.05兆字节/秒
并发性:188.57
成功交易:1996
失败的事务:4
最长事务:3.29
最短事务:0.10

没想到没有优化,ThinkPHP速度最快,Yii是更多一点,和Laravel交错的测试。结果有些出人意料,但上述测试仅代表开发环境,和下面将优化的模拟网络环境。

优化框架
ThinkPHP:
app_debug改为假
Laravel:
app_debug改为假
PHP工匠路线:高速缓存
优化PHP的工匠
PHP配置工具:缓存
作曲家dumpautoload啊

Yii:

yii_debug改为假

作曲家dumpautoload啊

200圈10次:

ThinkPHP
交易:1655次点击
可用性:82.75%
运行时间:8.21秒
数据传输:173.62 MB
响应时间:0.69秒
交易率:201.58转/秒
吞吐量:21.15兆字节/秒
并发性:139.29
成功交易:1655
失败的事务:345
最长事务:7.83
最短事务:0

Laravel:
交易:1520次点击
可用性:76%
运行时间:34.95秒
数据传输:159.45 MB
响应时间:3.15秒
交易率:43.49转/秒
吞吐量:4.56兆字节/秒
并发性:136.84
成功交易:1520
失败的事务:480
最长事务:19.18
最短事务:0

Yii:
交易:1704次点击
可用性:85.20%
运行时间:15.16秒
数据传输:178.76 MB
响应时间:1.46秒
交易率:112.40转/秒
吞吐量:11.79兆字节/秒
并发性:164.21
成功交易:1704
失败的事务:296
最长事务:9.04
最短事务:0
奇怪的是,当帧关闭调试模式,有更多的失败。但是,很明显,Laravel的表现是一个简单的优化后大大提高,但仍低于其他两个框架比。

结论
考试期间,另一方面我情绪低落,觉得三世界崩溃了,崩溃成了渣。

ThinkPHP性能的两倍,Yii,近四倍,Laravel

Yii的表现是温和的,但它在测试请求的失败是小于其他两个框架较明显。

laravel仍然优雅,但性能是令人担忧的,用来描述那些受过良好教育的人死的话。

最后
我终于用自开发建设项目框架,得益于强大的作曲家,开发过程很顺利,最后附上自己的框架在200与10个周期的数据,开源框架,但是更新的忙,欢迎搜索ppphp GitHub上,和我一起构建框架。
交易:1672次点击
可用性:83.60%
运行时间:6.18秒
数据传输:175.40 MB
响应时间:0.57秒
交易率:270.55转/秒
吞吐量:28.38兆字节/秒
并发性:153.16
成功交易:1672
失败的事务:328
最长事务:4.57
最短事务:0.01
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部