日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

ab压力测试_CentOS安装压力测试工具ApacheBench(ab)

發布時間:2025/3/21 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ab压力测试_CentOS安装压力测试工具ApacheBench(ab) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

官方文檔:

https://httpd.apache.org/docs/2.4/programs/ab.html

ab原理:

ab命令會創建很多的并發訪問線程,模擬多個訪問者同時對某一URL地址進行訪問。它的測試目標是基于URL的,因此,既可以用來測試Apache的負載壓力,也可以測試nginx、lighthttp、tomcat、IIS等其它Web服務器的壓力。 ab命令對發出負載的計算機要求很低,既不會占用很高CPU,也不會占用很多內存,但卻會給目標服務器造成巨大的負載,其原理類似CC攻擊。自己測試使用也須注意,否則一次上太多的負載,可能造成目標服務器因資源耗完,嚴重時甚至導致死機。

Apache服務自帶了應該用于壓力測試的工具ab(ApacheBench),對應做一些簡單的壓力測試,它完全能夠勝任,本文主要介紹,在centos中不安裝Apache的情況下,安裝ab

#安裝步驟:

  • 安裝ab依賴包
  • yum install apr-util
  • 安裝httpd-tools, 里面包含ab工具
  • yum install httpd-tools
  • 運行ab -V查看當前版本,安裝成功
  • 簡單用法:

    參數很多,一般我們用 -c 和 -n 參數就可以了。

    #ab -c 1000 -n 4000 http://www.yoursite.com/index #必須要具體到某頁面

    -n 總共發出4000個請求 -c 采用1000個并發(模擬1000個人同時訪問) 后面的網址表示測試的目標 URL (必須具體到某頁面)

    返回結果參數說明:

    Server Software 表示被測試的Web服務器軟件名稱,這里是Apache/2.2.19,它來自于http響應數據的頭信息,所以如果是我們自己編寫的Web服務器軟或者修改開源Web服務器軟件的源代碼,便可以隨意改寫這里的名稱。

    vi /usr/local/apache/conf/httpd.conf #隱藏具體版本信息ServerSignature OffServerTokens Prod

    Server Hostname 表示請求的URL中的主機部分名稱,它來自于http請求數據的頭信息,這里我們請求的URL是http://localhost/index.html,所以主機名為localhost,說明我們的請求是從Web服務器端發起的。

    Server Port 表示被測試的Web服務器軟件的監聽端口,為了方便測試,我們后面會對多個不同的Web服務器軟件使用不同的監聽端口。

    Document Path 表示請求的URL中根絕對路徑,它同樣來自于http請求數據的頭信息,通過它的后綴名,我們一般可以理解該請求的類型。

    Document Length 表示http響應數據的正文長度。

    Concurrency Level 表示并發用戶數,這是我們設置的參數。

    Time taken for tests 表示所有這些請求被處理完成花費的總時間。順便提一下,某些Apache版本如2.2.4附帶的ab,對于這一統計項存在一些計算上的bug,當總請求數較少時,其統計的總時間會無法小于0.1s。

    Complete requests 表示總請求數,這是我們設置的相應參數。

    Failed requests 表示失敗的請求數,這里的失敗是指請求的連接服務器、發送數據、接收數據等環節發生異常,以及無響應后超時的情況。對于超時時間的設置可以用ab的-t參數。 而如果接收到的http響應數據的頭信息中含有2xx以外的狀態碼,則會在測試結果顯示另一個名為“Non-2xx responses”的統計項,用于統計這部分請求數,這些請求并不算是失敗的請求。

    Total transferred 表示所有請求的響應數據長度總和,包括每個http響應數據的頭信息和正文數據的長度。注意這里不包括http請求數據的長度,所以Total transferred代表了從Web服務器流向用戶PC的應用層數據總長度。通過使用ab的-v參數即可查看詳細的http頭信息。

    HTML transferred 表示所有請求的響應數據中正文數據的總和,也就是減去了Total transferred中http響應數據中頭信息的長度。

    Requests per second 這便是我們重點關注的吞吐率,它等于: Complete requests / Time taken for tests

    Time per request 這便是前面提到的用戶平均請求等待時間,它等于: Time taken for tests / (Complete requests /Concurrency Level)

    Time per request?(across all concurrent requests) 這便是前面提到的服務器平均請求處理時間,它等于: Time taken for tests / Complete requests 這正是吞吐率的倒數。同時,它也等于: Time per request / Concurrency Level

    Transfer rate 表示這些請求在單位時間內從服務器獲取的數據長度,它等于: Total transferred / Time taken for tests 這個統計項可以很好的說明服務器在處理能力達到限制時,其出口帶寬的需求量。 利用前面介紹的有關帶寬的知識,不難計算出結果。

    Percentage of the requests served within a certain time(ms) 這部分數據用于描述每個請求處理時間的分布情況,比如在以上測試結果中,80%請求的處理時間都不超過1ms,而99%的請求都不超過2ms。注意這里的處理時間,是指前面的Time per request,即對于單個用戶而言,平均每個請求處理的時間。

    總結

    以上是生活随笔為你收集整理的ab压力测试_CentOS安装压力测试工具ApacheBench(ab)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。