python百万并发压测_Python并发&压测http&压测rpc

思路:启动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

原文:https://www.cnblogs.com/CheeseZH/p/12713977.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值