linux 下ab压力测试
生活随笔
收集整理的這篇文章主要介紹了
linux 下ab压力测试
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
為什么80%的碼農都做不了架構師?>>> ??
ab 介紹
ab是apachebench命令的縮寫
ab是apache自帶的壓力測試工具。ab非常實用,它不僅可以對apache服務器進行網站訪問壓力測試,也可以對或其它類型的服務器進行壓力測試。比如nginx、tomcat、haproxy等
ab的原理?
ab的原理:ab命令會創建多個并發訪問線程,模擬多個訪問者同時對某一URL地址進行訪問。它的測試目標是基于URL的,因此,它既可以用來測試apache的負載壓力,也可以測試nginx、lighthttp、tomcat、IIS等其它Web服務器的壓力。
ab命令對發出負載的計算機要求很低,它既不會占用很高CPU,也不會占用很多內存。但卻會給目標服務器造成巨大的負載,其原理類似CC攻擊。自己測試使用也需要注意,否則一次上太多的負載。可能造成目標服務器資源耗完,嚴重時甚至導致死機。
ab的安裝
$ yum -y install httpd-tools#檢查是否安裝成功 $ ab -V This is ApacheBench, Version 2.3 <$Revision: 1430300 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/?
ab的應用
說明:?ab的命令參數比較多,我們經常使用的是-c和-n參數
$ ab -c 10 -n 100 http://test.basofhala.com/注:同時處理100個請求并運行10次http://test.basofhala.com/#參數說明:-c10表示并發用戶數為10-n100表示請求總數為100#測試結果$ ab -c 10 -n 100 http://test.basofhala.com/This is ApacheBench, Version 2.3 <$Revision: 1430300 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/Benchmarking test.bassofhala.com (be patient).....doneServer Software: nginx #測試服務器的名字 Server Hostname: test.basofhala.com #請求的URL主機名 Server Port: 80 #web服務器監聽的端口Document Path: / #請求的URL中的根絕對路徑,通過該文件的后綴名,我們一般可以了解該請求的類型 Document Length: 4102 bytes #HTTP響應數據的正文長度Concurrency Level: 10 #并發用戶數,這是我們設置的參數之一 Time taken for tests: 6.361 seconds #所有這些請求被處理完成所花費的總時間 單位秒 omplete requests: 100 # 總請求數量,這是我們設置的參數之一 Failed requests: 1 #表示失敗的請求數量,這里的失敗是指請求在連接服務器、發送數據等環節發生異常,以及無響應后超時的情況(Connect: 0, Receive: 0, Length: 1, Exceptions: 0) Write errors: 0 Total transferred: 474318 bytes #所有請求的響應數據長度總和。包括每個HTTP響應數據的頭信息和正文數據的長度 HTML transferred: 412818 bytes #所有請求的響應數據中正文數據的總和,也就是減去了Total transferred中HTTP響應數據中的頭信息的長度 Requests per second: 15.72 [#/sec] (mean) #吞吐率,計算公式:Complete requests/Time taken for tests 總請求數/處理完成這些請求數所花費的時間 Time per request: 636.133 [ms] (mean) #用戶平均請求等待時間,計算公式:Time token for tests/(Complete requests/Concurrency Level)。處理完成所有請求數所花費的時間/(總請求數/并發用戶數) Time per request: 63.613 [ms] (mean, across all concurrent requests) #服務器平均請求等待時間,計算公式:Time taken for tests/Complete requests,正好是吞吐率的倒數。也可以這么統計:Time per request/Concurrency Level Transfer rate: 72.82 [Kbytes/sec] received #表示這些請求在單位時間內從服務器獲取的數據長度,計算公式:Total trnasferred/ Time taken for tests,這個統計很好的說明服務器的處理能力達到極限時,其出口寬帶的需求量。Connection Times (ms)min mean[+/-sd] median max Connect: 0 0 0.1 0 1 Processing: 523 569 37.3 561 648 Waiting: 523 569 37.3 561 648 Total: 524 569 37.4 561 649Percentage of the requests served within a certain time (ms)50% 56166% 58075% 59580% 62090% 62695% 63998% 64799% 649100% 649 (longest request)#Percentage of requests served within a certain time(ms)這部分數據用于描述每個請求處理時間的分布情況,比如以上測試,80%的請求處理時間都在620ms,這個處理時間是指前面的Time per request,即對于單個用戶而言,平均每個請求的處理時間說明:整個測試結果可以看到有1個失敗請求數?
轉載于:https://my.oschina.net/AnnaWu/blog/3049791
總結
以上是生活随笔為你收集整理的linux 下ab压力测试的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: N6-旋转数组的最小元素
- 下一篇: Google Cloud 下一站之战略转