最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

HTTP服務(wù)壓力測試工具及相關(guān)術(shù)語講解

 更新時(shí)間:2022年04月16日 14:15:22   作者:Jeff的技術(shù)棧  
這篇文章主要為大家介紹了HTTP服務(wù)壓力測試工具使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪

前言

在項(xiàng)目正式上線之前,我們通常需要通過壓測來評(píng)估當(dāng)前系統(tǒng)能夠支撐的請(qǐng)求量、排查可能存在的隱藏bug,同時(shí)了解了程序的實(shí)際處理能力能夠幫我們更好的匹配項(xiàng)目的實(shí)際需求,節(jié)約資源成本。

壓測相關(guān)術(shù)語

  • 響應(yīng)時(shí)間(RT) :指系統(tǒng)對(duì)請(qǐng)求作出響應(yīng)的時(shí)間.
  • 吞吐量(Throughput) :指系統(tǒng)在單位時(shí)間內(nèi)處理請(qǐng)求的數(shù)量
  • QPS每秒查詢率(Query Per Second) :“每秒查詢率”,是一臺(tái)服務(wù)器每秒能夠響應(yīng)的查詢次數(shù),是對(duì)一個(gè)特定的查詢服務(wù)器在規(guī)定時(shí)間內(nèi)所處理流量多少的衡量標(biāo)準(zhǔn)。
  • TPS(TransactionPerSecond):每秒鐘系統(tǒng)能夠處理的交易或事務(wù)的數(shù)量
  • 并發(fā)連接數(shù):某個(gè)時(shí)刻服務(wù)器所接受的請(qǐng)求總數(shù)

壓力測試工具

ab

ab全稱Apache Bench,是Apache自帶的性能測試工具。使用這個(gè)工具,只須指定同時(shí)連接數(shù)、請(qǐng)求數(shù)以及URL,即可測試網(wǎng)站或網(wǎng)站程序的性能。

通過ab發(fā)送請(qǐng)求模擬多個(gè)訪問者同時(shí)對(duì)某一URL地址進(jìn)行訪問,可以得到每秒傳送字節(jié)數(shù)、每秒處理請(qǐng)求數(shù)、每請(qǐng)求處理時(shí)間等統(tǒng)計(jì)數(shù)據(jù)。

命令格式:

ab [options] [http://]hostname[:port]/path

常用參數(shù)如下:

-n requests 總請(qǐng)求數(shù)
-c concurrency 一次產(chǎn)生的請(qǐng)求數(shù),可以理解為并發(fā)數(shù)
-t timelimit 測試所進(jìn)行的最大秒數(shù), 可以當(dāng)做請(qǐng)求的超時(shí)時(shí)間
-p postfile 包含了需要POST的數(shù)據(jù)的文件
-T content-type POST數(shù)據(jù)所使用的Content-type頭信息

更多參數(shù)請(qǐng)查看官方文檔

例如測試某個(gè)GET請(qǐng)求接口:

ab -n 10000 -c 100 -t 10 "http://127.0.0.1:8080/api/v1/posts?size=10"

測試POST請(qǐng)求接口:

ab -n 10000 -c 100 -t 10 -p post.json -T "application/json" "http://127.0.0.1:8080/api/v1/post"

wrk

wrk是一款開源的HTTP性能測試工具,它和上面提到的ab同屬于HTTP性能測試工具,它比ab功能更加強(qiáng)大,可以通過編寫lua腳本來支持更加復(fù)雜的測試場景。

Mac下安裝:

brew install wrk

常用命令參數(shù):

-c --conections:保持的連接數(shù)
-d --duration:壓測持續(xù)時(shí)間(s)
-t --threads:使用的線程總數(shù)
-s --script:加載lua腳本
-H --header:在請(qǐng)求頭部添加一些參數(shù)
--latency 打印詳細(xì)的延遲統(tǒng)計(jì)信息
--timeout 請(qǐng)求的最大超時(shí)時(shí)間(s)

使用示例:

wrk -t8 -c100 -d30s --latency http://127.0.0.1:8080/api/v1/posts?size=10

輸出結(jié)果:

Running 30s test @ http://127.0.0.1:8080/api/v1/posts?size=10
  8 threads and 100 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency    14.55ms    2.02ms  31.59ms   76.70%
    Req/Sec   828.16     85.69     0.97k    60.46%
  Latency Distribution
     50%   14.44ms
     75%   15.76ms
     90%   16.63ms
     99%   21.07ms
  198091 requests in 30.05s, 29.66MB read
Requests/sec:   6592.29
Transfer/sec:      0.99MB

go-wrk

go-wrk是Go語言版本的wrk,Windows同學(xué)可以使用它來測試,使用如下命令來安裝go-wrk

go get github.com/adeven/go-wrk

使用方法同wrk類似,基本格式如下:

go-wrk [flags] url

常用的參數(shù):

-H="User-Agent: go-wrk 0.1 bechmark\nContent-Type: text/html;": 由'\n'分隔的請(qǐng)求頭
-c=100: 使用的最大連接數(shù)
-k=true: 是否禁用keep-alives
-i=false: if TLS security checks are disabled
-m="GET": HTTP請(qǐng)求方法
-n=1000: 請(qǐng)求總數(shù)
-t=1: 使用的線程數(shù)
-b="" HTTP請(qǐng)求體
-s="" 如果指定,它將計(jì)算響應(yīng)中包含搜索到的字符串s的頻率

執(zhí)行測試:

go-wrk -t=8 -c=100 -n=10000 "http://127.0.0.1:8080/api/v1/posts?size=10"

輸出結(jié)果:

==========================BENCHMARK==========================
URL:                            http://127.0.0.1:8080/api/v1/posts?size=10
Used Connections:               100
Used Threads:                   8
Total number of calls:          10000
===========================TIMINGS===========================
Total time passed:              2.74s
Avg time per request:           27.11ms
Requests per second:            3644.53
Median time per request:        26.88ms
99th percentile time:           39.16ms
Slowest time for request:       45.00ms
=============================DATA=============================
Total response body sizes:              340000
Avg response body per request:          34.00 Byte
Transfer rate per second:               123914.11 Byte/s (0.12 MByte/s)
==========================RESPONSES==========================
20X Responses:          10000   (100.00%)
30X Responses:          0       (0.00%)
40X Responses:          0       (0.00%)
50X Responses:          0       (0.00%)
Errors:                 0       (0.00%)

以上就是HTTP服務(wù)壓力測試工具及相關(guān)術(shù)語講解的詳細(xì)內(nèi)容,更多關(guān)于HTTP服務(wù)壓力測試工具的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Go語言實(shí)現(xiàn)單端口轉(zhuǎn)發(fā)到多個(gè)端口

    Go語言實(shí)現(xiàn)單端口轉(zhuǎn)發(fā)到多個(gè)端口

    這篇文章主要為大家詳細(xì)介紹了Go語言實(shí)現(xiàn)單端口轉(zhuǎn)發(fā)到多個(gè)端口,文中的示例代碼講解詳細(xì),具有一定的參考價(jià)值,對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的小伙伴可以了解下
    2024-02-02
  • 使用go語言解析xml的實(shí)現(xiàn)方法(必看篇)

    使用go語言解析xml的實(shí)現(xiàn)方法(必看篇)

    下面小編就為大家?guī)硪黄褂胓o語言解析xml的實(shí)現(xiàn)方法(必看篇)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-06-06
  • Go語言defer語句的三種機(jī)制整理

    Go語言defer語句的三種機(jī)制整理

    在本篇文章里小編給大家分享的是一篇關(guān)于Go語言defer語句的三種機(jī)制整理,需要的朋友們學(xué)習(xí)下吧。
    2020-03-03
  • Golang并發(fā)繞不開的重要組件之Goroutine詳解

    Golang并發(fā)繞不開的重要組件之Goroutine詳解

    Goroutine、Channel、Context、Sync都是Golang并發(fā)編程中的幾個(gè)重要組件,這篇文中主要為大家介紹了Goroutine的相關(guān)知識(shí),需要的可以參考一下
    2023-06-06
  • 使用自定義錯(cuò)誤碼攔截grpc內(nèi)部狀態(tài)碼問題

    使用自定義錯(cuò)誤碼攔截grpc內(nèi)部狀態(tài)碼問題

    這篇文章主要介紹了使用自定義錯(cuò)誤碼攔截grpc內(nèi)部狀態(tài)碼問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Go語言leetcode題解953驗(yàn)證外星語詞典示例詳解

    Go語言leetcode題解953驗(yàn)證外星語詞典示例詳解

    這篇文章主要為大家介紹了Go語言leetcode題解953驗(yàn)證外星語詞典示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12
  • go chan基本使用詳解

    go chan基本使用詳解

    本文主要介紹了go chan基本使用詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • linux中用shell快速安裝配置Go語言的開發(fā)環(huán)境

    linux中用shell快速安裝配置Go語言的開發(fā)環(huán)境

    相信每位開發(fā)者都知道選擇一門開發(fā)語言,免不了需要安裝配置開發(fā)環(huán)境,所以這篇文章給大家分享了linux下使用shell一鍵安裝配置GO語言開發(fā)環(huán)境的方法,有需要的朋友們可以參考借鑒,下面來一起看看吧。
    2016-10-10
  • Golang實(shí)現(xiàn)smtp郵件發(fā)送的示例代碼

    Golang實(shí)現(xiàn)smtp郵件發(fā)送的示例代碼

    這篇文章主要為大家詳細(xì)介紹了Golang實(shí)現(xiàn)smtp郵件發(fā)送的相關(guān)知識(shí),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • golang抓取tcp包的實(shí)現(xiàn)方式

    golang抓取tcp包的實(shí)現(xiàn)方式

    使用`golang`的`packet`和`pcap`庫可以抓取TCP數(shù)據(jù)包,首先,確保安裝了`pcap`庫,然后使用以下代碼打開網(wǎng)絡(luò)接口,設(shè)置過濾規(guī)則為“tcp”,開始捕獲并解析TCP數(shù)據(jù)包,運(yùn)行代碼時(shí)需要管理員權(quán)限
    2024-12-12

最新評(píng)論

平昌县| 建瓯市| 阿合奇县| 丰原市| 澄迈县| 宜都市| 德昌县| 宜章县| 兴业县| 武鸣县| 长兴县| 星子县| 睢宁县| 克拉玛依市| 梨树县| 安西县| 梁河县| 长岛县| 南安市| 杭锦旗| 平昌县| 商都县| 万源市| 泗洪县| 酒泉市| 鸡东县| 资阳市| 秀山| 贵阳市| 牙克石市| 得荣县| 大宁县| 会同县| 同心县| 高安市| 高雄市| 邵武市| 溆浦县| 临高县| 开封县| 大足县|