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 每秒處理 trans/sec 每秒處理 trans/sec 每秒處理 trans/sec 每秒處理 trans/sec 每秒處理 trans/sec 每秒處理 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
Res
Data transferred: 52.45 MB
##Response sectime: 0.26. Transaction rate: 177.94 trans/secThroughput: 18.67 MB/secConcurrency: 47.10Successful transactions: 500
##白都有 好的切足夠擁有4足夠擁有足以
##白確定##白希
#白確定
#白以外白確定
##白足夠Failed transactions: 0Longest transaction: 0.48Shortest transaction: 0.03然後是Laravle:
#並發200循環10次:
首先是ThinkPHP
Transactions: 1977 hits
Availability: 98.85 %
#Elapsed time: 10.03 secs
#18Longest transaction: 1.22#Shortest transaction: 0.02##然後是Laraara## #########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#####Success######Concurrency: 178.00#####Successfulful 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#################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##########aravel:###### ####Transactions: 1520 hits######Availability: 76.00 %######Elapsed time: 34.95 secs#####Data transferred: 159.45 MB######Responsetime: 3. 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進行簡單的優化後,效能大大的提升了,但還是低於其他兩個框架。 ######結論:####Successful transactions: 1977
Failed transactions: 23
ThinkPHP的效能比Laravel高出近四倍。
php中文網,大量的免費laravel入門教學,歡迎線上學習!
以上是thinkphp與laravel效能比較的詳細內容。更多資訊請關注PHP中文網其他相關文章!