壓力測試的概念\定義:apache
性能測試Performance Test :是指經過自動化的測試工具模擬多種正常、峯值以及異常負載條件來對系統的各項性能指標進行測試;windows
壓力測試 stress testing :是指經過測試系統的瓶頸或者不能接受的性能點,來得到系統能提供的最大服務級別的測試;瀏覽器
負載測試 Load Test :是指經過測試系統在資源超負荷狀況下的表現,才以發現設計上的錯誤或驗證系統的負載能力。服務器
ApacheBench(簡稱AB)是 Apache 的一款功能強大的測試工具,能夠快速測試基於 HTTP 協議全部 Web 頁面的最大負載壓力,擴展性很是強。併發
下載地址:https://www.apachelounge.com/download/工具
下載後是一個壓縮包,解壓進入bin目錄。性能
cmd模式下執行ab測試
若是有提示信息即爲正常狀態。設計
# 按請求量測試orm
ab -n 10 -c 10 http://127.0.0.1/
# -n 總共10次請求
# -c 是 concurrency ,模擬10個併發用戶,即發起10個併發請求
# 按請求時間測試
ab -t 10 -c 10 http://127.0.0.1/
# -t 是 timelimit 執行測試的時間,單位是秒
# -c 是 concurrency ,模擬10個併發用戶,即發起10個併發請求
#######
# 命令說明:
# 經過 ab 工具模擬用戶瀏覽器行爲,Get請求
# 別再URL上缺乏 http:// ,否者沒法發起請求
結果分析:
E:\Apache24\bin>ab -n 3000 -c 50 http://192.168.199.129:9000/req_test
This is ApacheBench, Version 2.3 <$Revision: 1843412 $>
Benchmarking 192.168.199.129 (be patient)
Completed 3000 requests
Finished 3000 requests
Server Software: Werkzeug/0.14.1
Server Hostname: 192.168.199.129
Server Port: 9000
Document Path: /req_test
Document Length: 27 bytes
Concurrency Level: 50 # 併發數
Time taken for tests: 27.518 seconds # 總耗時
Complete requests: 3000
Failed requests: 2951 # 失敗數量,通常length能夠忽略
(Connect: 0, Receive: 0, Length: 2951, Exceptions: 0)
Total transferred: 548002 bytes
HTML transferred: 86002 bytes
Requests per second: 109.02 [#/sec] (mean)
# 每秒平均請求數
Time per request: 458.632 [ms] (mean)
# 請求的平均時間
Time per request: 9.173 [ms] (mean, across all concurrent requests)
# 服務器處理請示的平均時間
Transfer rate: 19.45 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 1 3.0 1 73
Processing: 35 454 72.2 429 683
Waiting: 4 453 72.1 427 680
Total: 35 455 72.4 430 684
Percentage of the requests served within a certain time (ms)
50% 430
66% 457
75% 499
80% 518
90% 569
95% 592
98% 613
99% 628
100% 684 (longest request)