locust 使用的疑問
背景
今天使用 locust 分散式壓測一個 grpc 協議的服務 (第一次使用 locust 咳咳),但壓測過程中,發現 locust 無法透過增加併發而提高被壓服務的 cpu 使用率,QPS 等。後續增加了 3 臺壓測客戶端機器,才把服務端的 cpu 使用率壓滿,這明顯不科學啊。。
伺服器資訊
1,服務端 8 核 16G
2,客戶端 8 核 16G
操作過程
場景 1,使用 700 併發,7 個 nodes 執行
locust -f grpc_test.py --master --headless --master-bind-host xxx --expect-workers=7 -u 700 -t 180s -r 700
被壓服務 cpu 使用率為 280% 左右
locust 程序的單核 cpu 使用率為 40% 左右
QPS:9703.14,平均耗時:2ms
場景 2, 使用 1400 併發,7 個 nodes 執行
locust -f grpc_test.py --master --headless --master-bind-host xxx --expect-workers=7 -u 1400 -t 180s -r 700
被壓服務 cpu 使用率為 280% 左右
locust 程序的單核 cpu 使用率為 40% 左右
QPS: 9514.82,平均耗時:2ms
場景 3, 使用 1400 併發,14 個 nodes 執行 (壓測客戶端增加了一臺 8 核機器,承擔另外 7 個 nodes)
locust -f grpc_test.py --master --headless --master-bind-host xxx --expect-workers=14 -u 1400 -t 180s -r 700
被壓服務 cpu 使用率為 550% 左右
locust 1 程序的單核 cpu 使用率為 35% 左右
QPS:17757.96,平均耗時:2ms
分析與疑問
1,在場景 1 的基礎上,場景 2 增加了一倍併發數,但服務端的 cpu 使用率沒有提高,QPS 沒有提高,而且壓測客戶端的負載和 cpu 使用率還是很健康狀態。
2,在場景 2 的基礎上,增加了一臺壓測伺服器,分擔了其中 7 個 nodes,壓力提高符合預期。
3,為什麼增加併發數不能提高壓力呢?但從網上看到 locust 的文章,可以百萬併發哦。。是我使用方式不對?請大佬們指點指點。
相關文章
- 關於 Locust 建立 Task 的疑問,困擾了好久,路過的幫忙看下。
- 我的疑問
- 有些疑問
- pycharm 小疑問PyCharm
- 【疑問】記錄
- [20220406]使用那個shared pool latch的疑問1.txt
- 關於 dingo API 的疑問GoAPI
- 做學問要在不疑之處有疑
- Locust 簡介及安裝使用
- locust 新手問下 locust 自定義一個 socket 客戶端該如何實現客戶端
- [20220412]shared pool latch與使用sga heap的疑問2.txt
- [20220413]shared pool latch與使用sga heap的疑問3.txt
- Android 編譯打包的那些疑問Android編譯
- [20190401]那個更快的疑問.txt
- [提問交流]關於對OT現有的文件系統使用疑問
- 帶著疑問看故事
- 面試疑難問題面試
- [20191209]降序索引疑問.txt索引
- Vue學習遇到疑問的總結Vue
- RESTful設計中的常見疑問REST
- java——ArrayList中contains()方法中的疑問JavaAI
- locust多程序實現分散式壓測遇到的問題分散式
- [20220308]查詢x$ksmmem遇到的疑問.txt
- [20190510]rman備份的疑問8.txt
- [20190510]rman備份的疑問7.txt
- [20190509]rman備份的疑問5.txt
- [20190423]那個更快的疑問3.txt
- Solidity學習疑問總結Solid
- [20190411]linux stat 命令疑問.txtLinux
- Locust 斷言的實現?
- 使用 locust 對 mysql 語句進行壓測MySql
- locust壓測
- [20221014]資料檔案2的小疑問.txt
- 有關JavaScript事件迴圈的若干疑問探究JavaScript事件
- [20220304]測試library cache mutex遇到的疑問.txtMutex
- MySQL關於資料字典的一個疑問MySql
- 如何使用robex處理MRI大腦圖片+後續工作疑問
- locust 工具 1.0.1 locust.queue.get () 方法無法使用,新文件也沒有找到替代辦法