壓測工具使用(vegeta)


一、壓測工具vegeta

1、介紹

Vegeta 是一個用 Go 語言編寫的多功能的 HTTP 負載測試工具,它提供了命令行工具和一個開發庫。 

官方地址:https://github.com/tsenart/vegeta

2、安裝 Vegeta

wget https://github.com/tsenart/vegeta/releases/download/v7.0.3/vegeta-7.0.3-linux-amd64.tar.gz
tar xf vegeta-7.0.3-linux-amd64.tar.gz
mv vegeta /usr/local/bin/
#查看版本
vegeta  -version 

  

3、Vegeta 用法(常用參數)

 -cpus int:    使用 CPU 的數量 (默認為 4 個)
  -profile string:    指定在執行期間啟用哪個分析器,支持 cpu 和 heap。
  -version:    打印版本並退出。attack command:
  -body string:    指定請求主體文件里的內容。
  -cert string:    指定用於 HTTPS 請求的 PEM 格式的客戶端證書文件。如果 -key 未指定,它會被設置為這個標志的值。
  -connections int:    指定每個目標主機打開的空閑連接的最大數目,默認值為 10000-duration duration:    指定發送請求到目標主機的時長,用 0 表示永久。
  -header value:    指定目標的請求頭,可以重復指定多個請求頭。
  -http2:    指定是否向支持的服務器發送 HTTP/2 請求,默認為:true-insecure:    指定是否忽略無效的服務器 TLS 證書。
  -keepalive:    指定是否使用持久鏈接,默認值為:true-key string:    指定 HTTPS 請求中使用的 PEM 編碼的 SSL 客戶端證書私鑰文件。
  -laddr value:    指定要使用的本地 I P地址,默認值為:0.0.0.0-lazy:    指定是否使用延遲模式讀取目標。
  -output string:    指定輸出文件的位置,默認為標准輸出。
  -rate uint:    指定每秒鍾對目標發送的請求數,默認值為:50-redirects int:    指定每個請求的重定向的最大次數,默認為 10 次。當值為 -1, 不會遵循重定向但響應標記為成功。
  -root-certs value:    指定可信的 TLS 根證書文件,多個的情況下使用逗號分隔。如果未指定,使用系統默認的 CA 證書。
  -targets string:    指定目標文件,默認為標准輸入。
  -timeout duration:    指定每個請求的超時時間,默認值為 30s。
  -workers uint:    指定初始化進程數量,默認值為 10-inputs string:    指定報告輸入文件,默認為標准輸入。
  -output string:    指定報告輸出文件,默認為標准輸出。
  -reporter string:    指定要生成的報告的格式,支持 text,json, plot, hist[buckets]。默認為文本。dump command:
  -dumper string:    指定轉存文件,支持 json, csv 格式。默認為 json 格式。
  -inputs string:    指定要轉存的輸入文件,默認為標准輸入,指定多個用逗號分隔。
  -output string:    指定要轉存的輸出文件,默認為標准輸出。

 

4、Vegeta 使用實例

#使用標准輸入進行壓測並生成報告
[root@localhost1]echo "GET http://10.0.0.141"| vegeta attack -rate=500 -connections=1 -duration=1s | tee results.bin | vegeta report
Requests(請求)      [total(請求總數), rate(請求速度)]            500, 501.00
Duration(攻擊)      [total(總共攻擊與等待的時間), attack(攻擊的時間), wait(等待時間)]    998.571503ms, 997.999647ms, 571.856µs
Latencies(執行時間)     [mean(單個請求的平均值), 50(50%請求達到的時間), 95, 99, max(單個最大請求時間)]  1.088556ms, 561.997µs, 2.414125ms, 12.116341ms, 22.107566ms
Bytes In(請求的大小(字節))      [total(請求總大小), mean(請求平均大小)]            306000, 612.00
Bytes Out(字節輸出)     [total(總輸出), mean(平均輸出)]            0, 0.00
Success(請求成功率)       [ratio(請求成功率)]                  100.00%
Status Codes  [code(狀態碼):count(請求次數)]             200:500  
Error Set:(錯誤集)

  

 

 

#經過測試感覺效果不是很好(比ab強一些)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM