速看!主流PHP框架机能非权威测试
主流PHP框架机能非权威测试
作为一个PHP开发者,并且是初创公司团队的技术开发者,选中开发框架是个很困难的事情。
用ThinkPHP
的话,聘请一个刚从培训机构出来的开发者就可以上手了,但是机能和后期代码解耦是个让人头疼的事情。不外许多第三方功效不需要本人写,众多大牛已经给铺好路了。
用Laravel
的话,传奇写起来很爽扩展性也够,但是学习成本有点高,总不克不及给初级开发者半个月的时间去学习框架吧。并且听说江湖人士透漏,Laravel
机能不如何样,文档也并不是特殊丰硕。
用Yii
的话,语法有点啰嗦,前后端代码别离有点小费事,不外机能是非常好的,并且已经有众多国内大公司在使用了,显现不测可以快速的寻到大牛答疑解惑。
不如做个简便的机能评测,选个机能杰出的总不会出错
机能测试
测试时间: 2016年05月06日
测试工具:
siege
(由于MAC系统的ab
总是会显现pr_socket_recv: Connection reset by peer (54)
的错误,所以选中了siege
)测试机器: MacPro Core i5 处置器/8GB内存/256GB SSD闪存
测试环境: Apache PHP5.6
框架版本:
ThinkPHP 3.2.3
Laravel 5.2
Yii2.0.5
测试原则: 每次测试轮回5次,取中等数据
补充说明:所有项目都是让在子名目中
结果说明
Transactions: 2119 hits 处置恳求总数目 Availability: 96.85 % 可用性 Elapsed time: 9.74 secs 运转时间 Data transferred: 1.31 MB 数据传输量 Response time: 0.60 secs 响应时间 Transaction rate: 217.56 trans/sec 每秒处置效力 Throughput: 0.13 MB/sec 每秒处置数据 Concurrency: 130.28 并发 Successful transactions: 2162 成功的恳求 Failed transactions: 69 失败的恳求 Longest transaction: 2.85 最长的单个恳求 Shortest transaction: 0.01 最短的单个恳求
开端测试
增添一个操纵器,并在操纵器中输入10000次HelloWorld
并发50轮回10次:
第一向我们走来的是ThinkPHP,看上去还行
Transactions: 500 hits Availability: 100.00 % Elapsed time: 2.81 secs Data transferred: 52.45 MB Response time: 0.26 secs Transaction rate: 177.94 trans/sec Throughput: 18.67 MB/sec Concurrency: 47.10 Successful transactions: 500 Failed transactions: 0 Longest transaction: 0.48 Shortest transaction: 0.03
然后是Laravle,嗯,稍微有些绝望
Transactions: 500 hits Availability: 100.00 % Elapsed time: 13.33 secs Data transferred: 52.45 MB Response time: 1.27 secs Transaction rate: 37.51 trans/sec Throughput: 3.93 MB/sec Concurrency: 47.55 Successful transactions: 500 Failed transactions: 0 Longest transaction: 3.64 Shortest transaction: 0.07
最后赛前比力看好的Yii
Transactions: 500 hits Availability: 100.00 % Elapsed time: 4.84 secs Data transferred: 52.45 MB Response time: 0.46 secs Transaction rate: 103.31 trans/sec Throughput: 10.84 MB/sec Concurrency: 47.65 Successful transactions: 500 Failed transactions: 0 Longest transaction: 0.88 Shortest transaction: 0.04
并发200轮回10次:
第一是ThinkPHP
Transactions: 1977 hits Availability: 98.85 % Elapsed time: 10.03 secs Data transferred: 207.40 MB Response time: 0.95 secs Transaction rate: 197.11 trans/sec Throughput: 20.68 MB/sec Concurrency: 187.68 Successful transactions: 1977 Failed transactions: 23 Longest transaction: 1.22 Shortest transaction: 0.02
然后是Laravel
Transactions: 1890 hits Availability: 94.50 % Elapsed time: 51.85 secs Data transferred: 198.27 MB Response time: 4.88 secs Transaction rate: 36.45 trans/sec Throughput: 3.82 MB/sec Concurrency: 178.00 Successful transactions: 1890 Failed transactions: 110 Longest transaction: 26.01 Shortest transaction: 0.07
最后是Yii
Transactions: 1996 hits Availability: 99.80 % Elapsed time: 18.95 secs Data transferred: 209.39 MB Response time: 1.79 secs Transaction rate: 105.33 trans/sec Throughput: 11.05 MB/sec Concurrency: 188.57 Successful transactions: 1996 Failed transactions: 4 Longest transaction: 3.29 Shortest transaction: 0.10
没想到在没有优化的状况下,ThinkPHP的速度是最快的,Yii稍微多一些,Laravel步履蹒跚的跑完了测试。结果是有些出人料想的,不外上述的测试只代表了开发环境,下面会对框架停止优化,模拟线上环境。
优化框架
ThinkPHP:
APP_DEBUG改为false
Laravel:
APP_DEBUG改为false php artisan route:cache php artisan optimize php artisan config:cache composer dumpautoload -o
Yii:
YII_DEBUG改为false composer dumpautoload -o
并发200轮回10次:
ThinkPHP
Transactions: 1655 hits Availability: 82.75 % Elapsed time: 8.21 secs Data transferred: 173.62 MB Response time: 0.69 secs Transaction rate: 201.58 trans/sec Throughput: 21.15 MB/sec Concurrency: 139.29 Successful transactions: 1655 Failed transactions: 345 Longest transaction: 7.83 Shortest transaction: 0.00
Laravel:
Transactions: 1520 hits Availability: 76.00 % Elapsed time: 34.95 secs Data transferred: 159.45 MB Response time: 3.15 secs Transaction rate: 43.49 trans/sec Throughput: 4.56 MB/sec Concurrency: 136.84 Successful transactions: 1520 Failed transactions: 480 Longest transaction: 19.18 Shortest transaction: 0.00
Yii:
Transactions: 1704 hits Availability: 85.20 % Elapsed time: 15.16 secs Data transferred: 178.76 MB Response time: 1.46 secs Transaction rate: 112.40 trans/sec Throughput: 11.79 MB/sec Concurrency: 164.21 Successful transactions: 1704 Failed transactions: 296 Longest transaction: 9.04 Shortest transaction: 0.00
比力惊奇的一点,当框架关掉调试模式后都显现了较多失败的状况。不外明显的看到,Laravel停止简便的优化后,机能大大的晋升了,但还是低于其他两个框架。
结论
在测试的历程中,其他我的表情是沮丧的,感受本人的三不雅世界已经倒塌了,倒塌至渣。
ThinkPHP的机能比Yii高出一倍,比Laravel高出近四倍
Yii的机能比力中庸,但是在测试中会明显发明恳求失败的状况比其他两个框架要少
Laravel照旧文雅,不外机能堪忧,用网友的话形容比力好
学之者生用之者死
最后
我的项目最后使用了自建框架停止开发,得益于composer的强大,开发的历程非常顺利,最后附上自有框架在200并发10次轮回的数据,框架开源但是更新比力忙,欢迎在github上搜索PPPHP,和我一起搭建框架。
Transactions: 1672 hits Availability: 83.60 % Elapsed time: 6.18 secs Data transferred: 175.40 MB Response time: 0.57 secs Transaction rate: 270.55 trans/sec Throughput: 28.38 MB/sec Concurrency: 153.16 Successful transactions: 1672 Failed transactions: 328 Longest transaction: 4.57 Shortest transaction: 0.01
以上就是速看!主流PHP框架机能非权威测试的具体内容,更多请关注百分百源码网其它相关文章!