Rumah  >  Artikel  >  rangka kerja php  >  thinkphp和laravel性能比较

thinkphp和laravel性能比较

尚
asal
2019-12-24 15:03:467621semak imbas

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:thinkphp5是php吗Artikel seterusnya:TP5引用PHPExcel实现导入导出功能