我有一个框架,可通过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实例的连接