測試web server效能
-c 是同時的連線數
-t 是最久測試時間,超過此時間,程式就停止,預設無限制。
網址後面的 '/' 不要漏掉
結果範例
This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright 2006 The Apache Software Foundation, http://www.apache.org/
Benchmarking n.sfs.tw (be patient)
Finished 267 requests
Server Software: Apache/2.4.6
Server Hostname: n.sfs.tw
Server Port: 80
Document Path: /
Document Length: 16991 bytes <==抓取頁面的大小,不含其中的圖片或檔案
Concurrency Level: 200
Time taken for tests: 60.418 seconds
Complete requests: 267
Failed requests: 243
(Connect: 0, Length: 243, Exceptions: 0)
Write errors: 0
Non-2xx responses: 1
Total transferred: 4644866 bytes
HTML transferred: 4543811 bytes
Requests per second: 4.45 [#/sec] (mean)
Time per request: 44944.137 [ms] (mean)
Time per request: 224.721 [ms] (mean, across all concurrent requests)
Transfer rate: 75.60 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 3 1.3 4 7
Processing: 2011 29057 9931.3 31716 39795
Waiting: 2006 29050 9931.0 31706 39789
Total: 2014 29060 9931.4 31720 39800
Percentage of the requests served within a certain time (ms)
50% 31717 <== 完成50%的req.所花的時間ms
66% 34341
75% 35163
80% 36678
90% 37824
95% 38295
98% 39084
99% 39415 <== 完成99%的req.所花的時間ms
100% 39800 (longest request) <== 最後一筆完成所花的時間ms,也就是最多費時
判斷參考
1. 如果數據都很平均,如上面 50% 31717~39415 99% 類似這樣,表示伺服器在這個服務量時很充裕。
2. 前面很平均,例如~95%,但後面98%, 99%, 100%時暴高,甚至是95%就暴高,那表示伺服器無法應付後來的請求,負載已達上限。
3. 有些服務會在爆大量時回應500或403錯誤訊息而不是不回應,會造成檢測結果失真,事實上使用者無法知道能不能成功取得頁面。
4. 平均數值偏大時有可能是網路的問題,請試著在離峰時或本機進行測試。
5. 某些防火牆會對大量的請求進行封鎖並視為攻擊,在測試時應多多注意。
參考資料
[1] http://ns2.ublink.org/phpbb/viewtopic.php?t=1475&sid=8d3a48665f3a9ff7f3136ff8784053d1
[2] http://forum.icst.org.tw/phpbb/viewtopic.php?f=20&t=14658&start=0&st=0&sk=t&sd=a
check-host 從世界各地檢查你的網站能不能連線?
檢測你的網站能不能暢通?這個網站可讓你知道你的網站是不是「網際網路」還是「區域網路」?
[Smarty4] 出現 modifiers 函式不能用的問題
當我把smarty由3版更新到4.5.1版的時候,出現了Using unregistered function xx in a template這樣的錯誤,該如何解決?
[Docker] docker中要怎麼修改影像的名稱,rename image
透過 build來的image如果沒有指定名稱,事後要怎麼修改影像的名稱?
[Rocky9] 安裝node.js 18, node.js 20
原本的nodejs16在使用 quasar dev時出現錯誤,得升級成18版以上
[SSL] Could not read certificate from server.cer 的錯誤排除
在轉換ssl憑證時,出現無法讀取的錯誤,可是怎麼看憑證都很正常,該怎麼解決?
[Linux] 如何能知道我是什麼時候安裝系統的?
linux想知道什麼時候裝系統的?什麼時候建置的?不必憑記憶。