效能測試技術分享:實際工作中,如何對多支交易進行混合壓測?
在實際效能測試中,我們經常會遇到對多支交易進行混合壓測的情況,此時為了在測試環境中模擬生產中交易量分佈,我們會根據生產上各交易的交易量佔比來配置壓測時各交易的使用者數,一般情況會採用以下兩種方法。加我VX:atstudy-js 回覆“測試”,進入軟體測試學習交流裙~~
設定多個執行緒組
將不同的交易放到單獨的執行緒組下,根據生產上各交易量佔比按比例設定不同執行緒組的併發使用者數量。
例如有A、B、C三支交易需要進行混合壓測,生產上ABC三支交易交易量佔比為1:2:3,則在同一個測試計劃下設定三個執行緒組,分別新增一個取樣器,三個執行緒組設定併發使用者數為1、2、3(併發使用者數按照交易佔比進行設定,實際使用者數大小參考業務實際情況),如下圖所示。
這種方法適合伺服器對以上三支交易的請求處理能力相當的情況,即各交易響應時間接近的情況,這樣才能保證最後壓測結果各交易請求數量佔比接近1:2:3。
若伺服器對以上三支交易的請求處理能力不同,有的處理快有的處理慢,即響應時間有的長有的短,差別較大時,採用以上方法時,壓測的結果就會與我們預期結果有差別。
設定一個執行緒組,使用Random函式實現
設定一個執行緒組,將不同的交易均放在該執行緒組下,使用生成隨機數Random函式與If控制器來保證各交易請求數量佔比與預期佔比一致。
例如有兩支交易AB,兩支交易生產交易量佔比為2:8,首先新增一個執行緒組,該執行緒組下新增配置元件-Random Variable,用來生成隨機數,然後設定隨機變數的名稱以及最大和最小值,如下圖所示。
之後再在該執行緒組下新增邏輯控制器-如果(If)控制器1,並填寫條件表示式,如剛剛我們所說交易AB交易量佔比為2:8,此時我們條件表示式可寫為randomnum<=2,然後在該邏輯控制器下新增取樣器A,用於傳送請求A。
同理再在該執行緒組下新增邏輯控制器-如果(If)控制器2,填寫條件表示式randomnum>2,然後在該邏輯控制器下新增取樣器B,用於傳送請求B,這樣當生成的隨機數小於等於2時,執行取樣器A,當生成的隨機數大於2時,執行取樣器B,如下圖所示。
由於生成隨機數函式能保證隨機數小於等於2與大於2的佔比為2:8,也就能保證壓測結果中取樣器A和取樣器B的請求數量佔比接近2:8。加我VX:atstudy-js 回覆“測試”,進入軟體測試學習交流裙~~
這種方法不受各交易響應時間長短的影響,無論各交易響應時間接近還是相差較大,都能使最終壓測結果中各交易的請求數量佔比接近我們之前預期結果。
我們在做混合場景壓測時可根據所測場景來選擇以上方法之一進行測試。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31407649/viewspace-2784390/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 如何對你Mac進行壓力測試?Mac
- 對node工程進行壓力測試與效能分析
- 如何對 ElasticSearch 叢集進行壓力測試Elasticsearch
- 使用ab對nginx進行壓力測試Nginx
- 用mysqlslap對MySQL進行壓力測試MySql
- 對 Linux 核心進行壓力測試(轉)Linux
- Android技術分享| 利用Kotlin協程,多工並行,測試RTM SDK效能AndroidKotlin並行
- webbench進行壓力測試Web
- (一)效能測試(壓力測試、負載測試)負載
- 面向開發的測試技術(二):效能測試
- 介面測試框架接入效能測試實踐分享框架
- 效能測試乾貨分享:JMeter如何使用Bean Shell進行引數化?JMeterBean
- 如何對Mac進行基礎檢測和速度測試Mac
- 移動app效能測試有哪些需要進行?效能測試報告如何收費?APP測試報告
- 使用python對oracle進行簡單效能測試PythonOracle
- 使用tpcc-mysql對mysql進行TPCC效能測試MySql
- JMeter使用jar進行壓力測試JMeterJAR
- 壓縮工具效能測試
- 效能測試進階實踐篇:10分鐘教你使用JMeter進行websocket測試!JMeterWeb
- jmeter 對 clickhouse 進行壓測的配置JMeter
- 【java】使用jprofiler進行效能測試Java
- .net core 使用ConcurrentTest元件對方法進行壓力測試元件
- 效能測試混合場景計算
- Golang 專案中如何對 API 進行測試?GolangAPI
- 如何對非同步呼叫進行單元測試非同步
- 第 83 期對 Go 程式進行可靠的效能測試Go
- 壓測的話, 壓測客戶端多 IP 和一個 IP 多埠進行壓測有區別嗎?客戶端
- 如何進行裝置的非對稱效能測試
- 使用Jmeter進行RPC壓力測試JMeterRPC
- Python技術分享:如何同時檢測多個人臉?Python
- Jmeter效能測試 —— 壓力模式JMeter模式
- 全鏈路壓測(3):技術改造和測試驗證
- 使用 locust 對 mysql 語句進行壓測MySql
- 【SWINGBENCH】使用SwingBench對Oracle進行壓力測試Oracle
- 效能測試、負載測試、壓力測試有什麼區別?負載
- 使用 Sysbench 進行 Linux 效能測試Linux
- 滲透測試對app安全測試實戰過程分享APP
- 多執行緒伺服器壓力測試執行緒伺服器