用python模拟多进程并发客户机

2024-06-26 14:24:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个通过redis与服务器通信的框架。我想对它进行测试,因此我想同时发送多个请求(模拟并发客户机同时向服务器发送请求)。我知道我应该使用多处理,但有一点我不清楚。以下是我所拥有的:

def func(x):
client = rpcpyredis.Proxy("EchoService")
print(client.echo("test"))


if __name__ == '__main__':
  processes = []
  start = time.time()
  p_pool = Pool(4)
  p_results = p_pool.map(func, range(300))
  p_pool.close()
  p_pool.join()
  print(time.time() - start)

我对进程的数目感到困惑。以这种方式调用函数是否意味着,我在任何时候最多有4个并发客户机,还是意味着我有300个并发客户机(调度在4个进程上)

client = rpcpyredis.Proxy("EchoService")

表示客户端对象,即到Redis实例的连接


Tags: 服务器redisclient框架客户机time进程def