Python併發 壓測http 壓測rpc

2022-02-02 23:53:18 字數 1014 閱讀 2345

思路:啟動max_workers個workers(執行緒),每個執行緒處理乙份輸入資料。

如果自己統計,那還需要對下邊的指令碼進行擴充套件。

如果搭配grafana等監控工具使用,那壓測指令碼只負責瘋狂發請求就好了。

import concurrent.futures

def parallel_process(client_config, inputs, max_workers):

poolexecutor = concurrent.futures.threadpoolexecutor

# 這裡也可以改成程序。poolexecutor = concurrent.futures.processpoolexecutor

with poolexecutor(max_workers=max_workers) as executor:

futures = [executor.submit(single_process, *(client_config, inputs)) for _ in range(max_workers)]

# 每個future.result()返回的就是每個single_process的responses。

[future.result() for future in concurrent.futures.as_completed(futures)]

def single_process(client_config, input_file):

# 自己按需實現create_client,比如返回乙個http或者rpc client。

client = create_client(client_config)

# 用client的方法處理每個input,比如這個方法叫process。

responses = [ client.process(input) for input in inputs ]

# 如果需要統計latency等,可以在這裡寫**統計下。

return responses

phoenix 併發壓測

測試環境 2 cpu 40 邏輯 核 記憶體 62g 測試 sql select account name from f fact url account status where account id 465132133 limit 1 select account name account id...

JMETER併發壓測

通過jmeter的命令列執行指令碼,實現多個使用者同時請求介面,實現併發 因為我希望同時壓測兩個介面,所以試了兩種方式來實現,目前好像兩種都可,如果出現了什麼其他錯誤歡迎指出 第一種 1.建立測試計畫 2.新增乙個執行緒組 3.新增乙個同步定時器 synchronizing timer 該定時器作用...

百萬併發壓測後續

檢視指定的埠 lsof i port 檢視所有埠 netstat aptn 通過lsof命令檢視某個特定的程序開啟的檔案數 lsof p 1296 wc l 獲取當前socket連線狀態統計資訊 cat proc net sockstat 獲取當前系統開啟的檔案控制代碼 sysctl a grep ...