国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目錄
PHP框架性能測試報告,php框架性能測試
首頁 后端開發(fā) php教程 PHP框架性能測試報告,php框架性能測試_PHP教程

PHP框架性能測試報告,php框架性能測試_PHP教程

Jul 12, 2016 am 08:53 AM
php php框架 性能測試

PHP框架性能測試報告,php框架性能測試

作為一個PHP開發(fā)者,而且是初創(chuàng)企業(yè)團隊的技術開發(fā)者,選擇開發(fā)框架是個很艱難的事情。

用ThinkPHP的話,招聘一個剛從培訓機構出來的開發(fā)者就可以上手了,但是性能和后期代碼解耦是個讓人頭疼的事情。不過很多第三方功能不需要自己寫,眾多大牛已經給鋪好路了。

用Laravel的話,傳說寫起來很爽擴展性也夠,但是學習成本有點高,總不能給初級開發(fā)者半個月的時間去學習框架吧。而且據說江湖人士透漏,Laravel性能不怎么樣,文檔也并不是特別豐富。

用Yii的話,語法有點啰嗦,前后端代碼分離有點小麻煩,不過性能是非常好的,而且已經有眾多國內大公司在使用了,出現意外可以快速的找到大牛答疑解惑。

不如做個簡單的性能評測,選個性能出色的總不會出錯

性能測試
測試時間: 2016年05月06日
測試工具: siege (因為MAC系統(tǒng)的ab總是會出現 pr_socket_recv: Connection reset by peer (54) 的錯誤,所以選擇了siege)
測試機器: MacPro Core i5 處理器/8GB內存/256GB SSD閃存
測試環(huán)境: Apache PHP5.6
框架版本: ThinkPHP 3.2.3 Laravel 5.2 Yii2.0.5
測試原則: 每次測試循環(huán)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 并發(fā)
Successful transactions:    2162 成功的請求
Failed transactions:       69 失敗的請求
Longest transaction:      2.85 最長的單個請求
Shortest transaction:      0.01 最短的單個請求

開始測試

增加一個控制器,并在控制器中輸入10000次HelloWorld

并發(fā)50循環(huán)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

并發(fā)200循環(huán)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

沒想到在沒有優(yōu)化的情況下,ThinkPHP的速度是最快的,Yii略微多一些,Laravel步履蹣跚的跑完了測試。結果是有些出人意料的,不過上述的測試只代表了開發(fā)環(huán)境,下面會對框架進行優(yōu)化,模擬線上環(huán)境。

優(yōu)化框架

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
并發(fā)200循環(huán)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進行簡單的優(yōu)化后,性能大大的提升了,但還是低于其他兩個框架。

結論

在測試的過程中,其他我的心情是沮喪的,感覺自己的三觀世界已經崩塌了,崩塌至渣。

ThinkPHP的性能比Yii高出一倍,比Laravel高出近四倍
Yii的性能比較中庸,但是在測試中會明顯發(fā)現請求失敗的情況比其他兩個框架要少
Laravel依舊優(yōu)雅,不過性能堪憂,用網友的話形容比較好 學之者生用之者死

最后

我的項目最后使用了自建框架進行開發(fā),得益于composer的強大,開發(fā)的過程非常順利,最后附上自有框架在200并發(fā)10次循環(huán)的數據,框架開源但是更新比較忙,歡迎在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

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1123783.htmlTechArticlePHP框架性能測試報告,php框架性能測試 作為一個PHP開發(fā)者,而且是初創(chuàng)企業(yè)團隊的技術開發(fā)者,選擇開發(fā)框架是個很艱難的事情。 用Thin...
本站聲明
本文內容由網友自發(fā)貢獻,版權歸原作者所有,本站不承擔相應法律責任。如您發(fā)現有涉嫌抄襲侵權的內容,請聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅動的應用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機

Video Face Swap

Video Face Swap

使用我們完全免費的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級代碼編輯軟件(SublimeText3)

如何將兩個PHP陣列組合獨特的值? 如何將兩個PHP陣列組合獨特的值? Jul 02, 2025 pm 05:18 PM

要合并兩個PHP數組并保留唯一值,有兩種主要方法。1.對于索引數組或僅需值去重的情況,使用array_merge和array_unique組合:先用array_merge($array1,$array2)合并數組,再用array_unique()去重,最終得到包含所有唯一值的新數組;2.對于關聯(lián)數組且希望保留第一個數組中的鍵值對時,使用 運算符:$result=$array1 $array2,這將確保第一個數組中的鍵不會被第二個數組覆蓋。這兩種方法分別適用于不同場景,根據是否需要保留鍵名或只關注

如何使用PHP退出功能? 如何使用PHP退出功能? Jul 03, 2025 am 02:15 AM

exit()是PHP中用于立即終止腳本執(zhí)行的函數,常見用途包括:1.在檢測到異常情況時提前終止腳本,如文件不存在或驗證失??;2.調試時輸出中間結果并停止執(zhí)行;3.結合header()重定向后調用exit()防止后續(xù)代碼執(zhí)行;此外,exit()可接受字符串參數作為輸出內容或整數作為狀態(tài)碼,其別名為die()。

將語義結構應用于html的文章,部分和旁邊 將語義結構應用于html的文章,部分和旁邊 Jul 05, 2025 am 02:03 AM

在HTML中合理使用語義化標簽能提升頁面結構清晰度、可訪問性和SEO效果。1.用于獨立內容區(qū)塊,如博客文章或評論,需保持自包含性;2.用于歸類相關內容,通常包含標題,適用于頁面不同模塊;3.用于與主內容相關但非核心的輔助信息,如側邊欄推薦或作者簡介。實際開發(fā)中應結合、等標簽,避免過度嵌套,保持結構簡潔,并通過開發(fā)者工具驗證結構合理性。

如何在PHP中創(chuàng)建數組? 如何在PHP中創(chuàng)建數組? Jul 02, 2025 pm 05:01 PM

在PHP中創(chuàng)建數組的方法有兩種:使用array()函數或使用中括號[]。1.使用array()函數是傳統(tǒng)方式,兼容性好,定義索引數組如$fruits=array("apple","banana","orange"),關聯(lián)數組如$user=array("name"=>"John","age"=>25);2.使用[]是從PHP5.4開始支持的更簡潔的方式,如$color

請求的操作需要高程窗戶 請求的操作需要高程窗戶 Jul 04, 2025 am 02:58 AM

遇到“此操作需要提升權限”提示時,說明你需要管理員權限才能繼續(xù)。解決方法包括:1.右鍵選擇“以管理員身份運行”程序或設置快捷方式始終以管理員身份運行;2.檢查當前賬戶是否為管理員賬戶,若不是則切換或請求管理員協(xié)助;3.用管理員權限打開命令提示符或PowerShell執(zhí)行相關命令;4.在必要時通過獲取文件所有權或修改注冊表等手段繞過限制,但此類操作需謹慎并充分了解風險。確認權限身份并嘗試上述方法通??山鉀Q問題。

PHP原始帖子數據PHP PHP原始帖子數據PHP Jul 02, 2025 pm 04:51 PM

在PHP中處理原始POST數據的方法是使用$rawData=file_get_contents('php://input'),適用于接收JSON、XML或其他自定義格式數據。1.php://input是一個只讀流,僅在POST請求中有效;2.常見問題包括服務器配置或中間件已讀取輸入流導致無法獲取數據;3.應用場景包括接收前端fetch請求、第三方服務回調和構建RESTfulAPI;4.與$_POST的區(qū)別在于$_POST自動解析標準表單數據,而原始數據適合非標準格式并允許手動解析;5.普通HTM

如何在PHP中牢固地處理文件上傳? 如何在PHP中牢固地處理文件上傳? Jul 08, 2025 am 02:37 AM

要安全處理PHP文件上傳需驗證來源與類型、控制文件名與路徑、設置服務器限制并二次處理媒體文件。1.驗證上傳來源通過token防止CSRF并通過finfo_file檢測真實MIME類型使用白名單控制;2.重命名文件為隨機字符串并根據檢測類型決定擴展名存儲至非Web目錄;3.PHP配置限制上傳大小及臨時目錄Nginx/Apache禁止訪問上傳目錄;4.GD庫重新保存圖片清除潛在惡意數據。

您如何按值與PHP中的參考傳遞變量? 您如何按值與PHP中的參考傳遞變量? Jul 08, 2025 am 02:42 AM

InPHP,variablesarepassedbyvaluebydefault,meaningfunctionsorassignmentsreceiveacopyofthedata,whilepassingbyreferenceallowsmodificationstoaffecttheoriginalvariable.1.Whenpassingbyvalue,changestothecopydonotimpacttheoriginal,asshownwhenassigning$b=$aorp

See all articles