新手ab壓測記錄
1. 使用ab測試不需要寫指令碼,前提:伺服器中必須有apache和ab。並且在用top檢視usercpu和syscpu的記憶體是否在持續升高、log日誌是否有報錯出現。
2. 先用ab檢視伺服器是否有ab引數,有顯示已經安裝。
檢視top命令:
2. 命令: ab -c(併發數) 200 -n(訪問次數)10000 "http://127.0.0.1:8080/s/v1/task/done?courseid=1&type=1&page=1&size=15&token=w1N3dahtnInylGZtx4WZsiojMciQHdazFDLrwVmItiMWew6MDLanlWYnyx2btUlWbsxQnbclJiOa4MzdrhVDMt5UzMwz4WOa2ITMnAAAdt=0HA"(
AB測試中的
以下圖片中的資料就是200併發10000次請求
Requests per second吞吐率,計算公式:Complete requests/Time taken for tests
Time per request使用者平均請求等待時間,計算公式:Time token for tests/(Complete requests/Concurrency Level)。
Time per requet(across all concurrent request)伺服器平均請求等待時間,計算公式:Time taken for tests/Complete requests,正好是吞吐率的倒數。也可以這麼統計:Time per request/Concurrency Level。
Percentage of requests served within a certain time(ms)這部分資料用於描述每個請求處理時間的分佈情況,比如以上測試,50%的請求處理時間都不超過1147ms,這個處理時間是指前面的Time per request,即對於單個使用者而言,平均每個請求的處理時間。
Transfer rate表示這些請求在單位時間內從伺服器獲取的資料長度,計算公式:Total trnasferred/ Time taken for tests,這個統計很好的說明伺服器的處理能力達到極限時,其出口寬頻的需求量。
web效能測試需要記錄的資料:測試時間、平均響應時間、成功次數、失敗次數、
計算公式:
成功率=成功次數/(成功次數+失敗次數)
處理能力=成功次數/測試時間
最短平均響應時間=min(平均響應時間)
最高處理能力=max(處理能力)*(1-cache影響係數)
最大併發使用者數=(最高處理能力-1÷(預期平均響應時間-最短平均響應時間+(1÷最高處理能力)))÷使用者習慣操作頻率,此公式要注意各時間單位的不同和轉換