示例#1
0
文件: client.py 项目: MrLi008/natapp
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), '次/秒')