我需要寫一個腳本對UDP服務器進行壓力測驗。它需要模擬大約5000個在線用戶和大約400個并發用戶。我在Google上找不到類似的功能,所以我自己寫了一個UDP客戶端。但是我有一個模擬多個客戶端的問題。我想出的解決方案:
每個客戶端一個套接字
使用多執行緒和多套接字模擬客戶端時如何標記在線用戶和并發用戶?
我把客戶端封裝成類,在這個類中 __init__ 變數加一的方法是用來記錄在線用戶的,這樣并發操作是不能成功的
用執行緒創建 5000 個套接字是否可行?這是最佳做法嗎?很棒的表演?
其他方法?
還有另一種我沒有想到的方法嗎?我在錯誤的軌道上嗎?
有沒有成熟的測驗框架可以參考?
最后,英語不是我的母語。請原諒我的拼寫錯誤或語法。感謝您的閱讀并期待您的回復。
uj5u.com熱心網友回復:
有Apache JMeter工具,它是免費的、開源的和模塊化的
有UDP Request sampler 插件,它為 JMeter 添加了對 UDP 協議的支持,請參閱
“5000在線用戶和400并發用戶”的要求可以這樣理解:真正的用戶不會馬不停蹄地錘擊被測系統,他們需要一些操作之間“思考”的時間,即讀取文本,輸入回應,填寫表格,接聽電話等。因此,您需要使用 JMeter Timers引入現實的思考時間,以便您可以在以下情況下提出配置:
- 5000 個用戶“在線”(連接到服務器)
- 4600什么都不做,只是“睡覺”
- 400 正在積極發送請求
只要您的機器能夠在不耗盡 CPU、RAM、網路等的情況下執行此操作 - 應該沒問題,我個人會使用類似greenlet 的東西
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/426702.html
上一篇:關于select()的困惑
