>由新遺物贊助。感謝您支持使SitePoint成為可能的讚助商!
意外的流量浪潮可能會削弱您的應用程序。無論是病毒式reddit哨所還是在受歡迎程度上突然飆升,處理大量訪客的流入都是至關重要的。雖然雲平台提供自動擴展,但主動的本地測試節省了時間和金錢。 本指南介紹了Apache Bench(AB),這是一種強大的工具,用於在部署之前對PHP應用程序進行負載測試。>
介紹apache台(ab)sudo apt-get install apache2-utils
對於本教程,我們將使用一個簡單的Laravel應用程序。 確保您安裝了Laravel和作曲家。創建一個新的Laravel項目:
>配置您的虛擬主機(例如,宅基地)指向Laravel項目的
目錄。 現在,您應該能夠通過URL訪問您的應用程序(例如,composer create-project laravel/laravel Laravel --prefer-dist
>
public
http://homestead.app:8000
進行第一個測試
此命令可能會返回結果太快而無法有用。 要模擬更現實的負載,請使用
(請求數)和ab homestead.app/
-n
-c
此命令發送500個請求,並帶有100個並發連接。輸出顯示在特定時間表中完成的請求的百分比。 >
ab -n 500 -c 100 homestead.app/
>讓我們有意減慢我們的應用程序,以說明效率低下的代碼的影響。修改
>
showWelcome
app/Http/Controllers/HomeController.php
並在
public function showWelcome() { if (isset($_GET['slower']) && $_GET['slower'] == 'true') { sleep(1); // Introduce a 1-second delay } else { usleep(1); // Minimal delay } return view('welcome'); }
routes/web.php
現在,對
Route::get('/', 'HomeController@showWelcome');
homestead.app
homestead.app?slower=true
>本教程展示了優化PHP應用程序以進行性能的重要性。 Apache板凳是識別瓶頸並確保您的應用程序可以處理高流量的寶貴工具。嘗試不同的參數,並記住,即使是小的優化也可以產生很大的不同。
常見問題(常見問題解答)
Q:什麼是Apache台,為什麼很重要? a:apache台(AB)是用於基準測試HTTP服務器的命令行工具。這對於壓力測試至關重要,因為它可以幫助您了解應用程序在各種負載水平下的性能,從而可以主動優化。
問:如何安裝和使用Apache Bench?a:安裝取決於您的系統(檢查系統的軟件包管理器)。用法涉及
>命令,後跟選項(例如,
for for Antirency)和目標URL。ab
Q:如何解釋Apache台式結果?
-n
a:密鑰指標包括每秒請求(較高的時間更好),每個請求的時間(較低的時間更好)和失敗的請求(應為零)。 “測試時間”顯示了總考試持續時間。 -c
Q:apache bench可以測試https站點? a:是的,只需在您的URL中使用協議。
> Q:Apache台如何與其他負載測試工具進行比較?a:Apache台很簡單,快速用於基本測試。 更高級的工具提供了腳本和更複雜的方案測試等功能。 >
Q:apache台可以幫助識別瓶頸?a:雖然它沒有查明確切原因,但它揭示了性能問題(每秒較低的請求,高失敗的請求),需要使用調試和分析工具進行進一步調查。 https
>
以上是用Apachebench強調您的PHP應用程序的詳細內容。更多資訊請關注PHP中文網其他相關文章!