thinkphp和laravel性能比較

thinkphp和laravel性能比較

Thinkphp是一個快速、兼容而且簡單的輕量級國產PHP開發框架,遵循apache2開源協議發布,從struts結構移植過來并做了改進和完善,同時也借鑒了國外很多優秀的框架和模式,使用面向對象的開發結構和mvc模式,融合了Struts的思想和TagLib(標簽庫)、RoR的ORM映射和ActiveRecord模式。

laravel是一套簡潔、優雅的PHP Web開發框架(PHP Web Framework)。它可以讓你從面條一樣雜亂的代碼中解脫出來;它可以幫你構建一個完美的網絡APP,而且每行代碼都可以簡潔、富于表達力。

thinkphplaravel性能比較:

性能測試

立即學習PHP免費學習筆記(深入)”;

測試時間: 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入門教程,歡迎在線學習!

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊13 分享