def mulitclient(totalrequest=1): """ 通过consumer 缓存访问记录后,使用此函数,实现性能和并发量测试""" source = commonutils.request_cache() # source.clear() consumer = Consumer(url_productor=configue.get('consumer', 'url_base')) consumer.update() with futures.ThreadPoolExecutor(max_workers=20) as executor: tasklist = list() begin = time.time() for i in range(totalrequest): for record in source.taskfull(): tasklist.append(executor.submit(consumer.process_task, record, True)) for i, f in enumerate(futures.as_completed(tasklist)): print(i) end = time.time() realtotalrequest = len(tasklist) print('性能分析结果: ') print('总次数: ', source.count(), totalrequest * source.count(), realtotalrequest) print('总耗时: ', end - begin, 's', (end - begin) / 60, 'min', (end-begin)/60/60, 'hour') print('IPO均值: ', realtotalrequest/(end-begin), '次/秒')