作为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