Rumah >rangka kerja php >ThinkPHP >thinkphp和laravel性能比较
ThinkPHP是一个快速、兼容而且简单的轻量级国产PHP开发框架,遵循Apache2开源协议发布,从Struts结构移植过来并做了改进和完善,同时也借鉴了国外很多优秀的框架和模式,使用面向对象的开发结构和MVC模式,融合了Struts的思想和TagLib(标签库)、RoR的ORM映射和ActiveRecord模式。
Laravel是一套简洁、优雅的PHP Web开发框架(PHP Web Framework)。它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力。
thinkphp和laravel性能比较:
性能测试
测试时间: 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
测试原则: 每次测试循环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:
并发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
没想到在没有优化的情况下,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
并发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
比较奇怪的一点,当框架关掉调试模式后都出现了较多失败的情况。不过明显的看到,Laravel进行简单的优化后,性能大大的提升了,但还是低于其他两个框架。
结论:
ThinkPHP的性能比Laravel高出近四倍。
php中文网,大量的免费laravel入门教程,欢迎在线学习!
Atas ialah kandungan terperinci thinkphp和laravel性能比较. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!