在python中使用多处理模拟并发客户端

时间:2019-03-14 16:20:06

标签: python python-3.x redis python-multiprocessing redis-py

我有一个框架,可通过Redis与服务器进行通信。我想对其进行测试,因此我想同时发送多个请求(以模拟同时向客户端发送请求到服务器的并发客户端)。我知道我应该使用 multiprocessing ,但是我不清楚一件事。这是我所拥有的:

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实例的连接

0 个答案:

没有答案