安裝步驟:
在windows系統下,開啟cmd命令列視窗,定位到apache安裝目錄的bin目錄下
測試命令:ab -n 100 -c 10
(ab -t 60 -c 100
在60秒內發請求,一次100個請求。
)//如果需要在url中帶引數,這樣做
ab -t 60 -c 100 -t "text/plain" -p p.txt
p.txt 是和ab.exe在乙個目錄
p.txt 中可以寫引數,如 p=wdp&fq=78
測試報告:
下面來逐行解釋我的理解,以下注釋部分有查閱網上資料,但所寫內容均為自己理解之後手打內容,希望加入自己的理解之後能讓讀者更容易理解。
//以上為apache的版本資訊,與本次測試無關
//以上內容顯示測試完成度,本次測試發起請求數量較少,完成較快,無中間過程顯示。在請求數量很多時會分行顯示當前完成數量。
//被測主機名
server port: 443 //
被測主機的服務埠號,一般http請求的預設埠號是80,https預設使用443埠
ssl/tls protocol: tlsv1.2,ecdhe-rsa-aes128-gcm-sha256,2048,128 //
加密協議
document path: /index.html //
請求的具體檔案
document length: 227 bytes //
請求的檔案index.html大小
concurrency level: 10 //
併發級別,也就是併發數,請求中-c引數指定的數量
time taken
for tests: 1.093 seconds //
本次測試總共花費的時間
complete requests: 100 //
本次測試總共發起的請求數量
failed requests: 0 //
失敗的請求數量。因網路原因或伺服器效能原因,發起的請求並不一定全部成功,通過該數值和complete requests相除可以計算請求的失敗率,作為測試結果的重要參考。
total transferred: 103314 bytes //
總共傳輸的資料量,指的是ab從被測伺服器接收到的總資料量,包括index.html的文字內容和請求頭資訊。
html transferred: 22700 bytes //
從伺服器接收到的index.html檔案的總大小,等於document length*complete requests=227 bytes*100=22700 bytes
requests per second: 91.50 [#/sec] (mean) //
平均(mean)每秒完成的請求數:qps,這是乙個平均值,等於complete requests/time taken for tests=100/1.093=91.50
time per request: 109.287 [ms] (mean) //
從使用者角度看,完成乙個請求所需要的時間(因使用者數量不止乙個,伺服器完成10個請求,平均每個使用者才接收到乙個完整的返回,所以該值是下一項數值的10倍。)
time per request: 10.929 [ms] (mean, across all concurrent requests)//
伺服器完成乙個請求的時間。
transfer rate: 92.32 [kbytes/sec] received //
網路傳輸速度。對於大檔案的請求測試,這個值很容易成為系統瓶頸所在。要確定該值是不是瓶頸,需要了解客戶端和被測伺服器之間的網路情況,包括網路頻寬和網絡卡速度等資訊。
connection times (ms)
min mean[+/-sd] median max
connect: 47 74 12.9 74 106processing: 9 32 20.2 32 106waiting: 9 29 19.1 27 98total: 66 106 20.8 106 195
//這幾行組成的**主要是針對響應時間也就是第乙個time per request進行細分和統計。乙個請求的響應時間可以分成網路鏈結(connect),系統處理(processing)和等待(waiting)三個部分。表中min表示最小值; mean表示平均值;[+/-sd]表示標準差(standard deviation) ,也稱均方差(mean square error),這個概念在中學的數學課上學過,表示資料的離散程度,數值越大表示資料越分散,系統響應時間越不穩定。 median表示中位數; max當然就是表示最大值了。
//需要注意的是表中的total並不等於前三行資料相加,因為前三行的資料並不是在同乙個請求中採集到的,可能某個請求的網路延遲最短,但是系統處理時間又是最長的呢。所以total是從整個請求所需要的時間的角度來統計的。這裡可以看到最慢的乙個請求花費了195ms,這個資料可以在下面的表中得到驗證。
percentage of the requests served within a certain time (ms)
50% 106
66% 109
75% 111
80% 114
90% 118
95% 154
98% 176
99% 195
100% 195(longest request)
//這個表第一行表示有50%的請求都是在106ms內完成的,可以看到這個值是比較接近平均系統響應時間(第乙個time per request: 109.287 [ms] (mean) )
以此類推,90%的請求是小於等於118ms的。剛才我們看到響應時間最長的那個請求是195ms,那麼顯然所有請求(100%)的時間都是小於等於195毫秒的,也就是表中最後一行的資料肯定是時間最長的那個請求(longest request)。
利用SVN搭建測試伺服器
在正規的團隊開發流程中,測試伺服器測試是必不可少的乙個環節,如何簡單快捷的部署測試伺服器將是本文的重點。本文的實際環境是centos php mysql svn,將通過兩種不同的途徑來實現部署測試伺服器的最終目的。第一種,post commit post commit本身是svn系列鉤子中的乙個,是...
利用nodejs搭建伺服器,測試AJAX
最近學習了ajax一直沒有進行過測試,前今天了解了noejs搭建本地伺服器下就嘗試了一下。通過ajax請求的方式獲取http伺服器返回資料的 首先建立乙個serve.js的檔案。並寫入以下 89 res.write hello,我是從伺服器端接收的 1011 12 13res.end 1415 16...
Linux NFS 伺服器測試
1 nfs 能做什麼?在嵌入式 linux 開發中,需要在 linux 主機為目標機編寫程式 然後編譯程式,生 成的程式是要傳輸到目標機上才能除錯 執行。那麼如何更快 更便捷地傳輸檔案,將影響 到開發工作的效率。nfs 無疑是最好的選擇。通過 nfs 服務,主機將使用者指定的目錄通過 網路共享給目標...