与响应不匹配的请求数Flask线程问题

时间:2018-09-06 11:25:58

标签: linux multithreading amazon-web-services flask python-3.6

我正在使用flask编写一个opencv(3)python(3.6)服务器。我的get函数看起来像这样

@application.route('/getFinal',methods=['POST'])
def handleFinal():
    # do some file creation, reading, saving file(using uuid to segregate from each other) to amazon s3 and opencv logic here
    #appending output response to count number of responses occured
    with open("test.txt", "a") as myfile:
        myfile.write(f'outrequest {requestID}\n')
    return json.dumps({'success':True}), 200, {'Content-Type':'application/json'}

并且我在应用程序运行方法中启用了threaded = true

  

application.run(host ='0.0.0.0',threaded = True)

单个请求耗时2秒。我已将代码部署在AWS Elastic beantalk上。

我目前正在以每秒10个客户端的速度访问服务器,持续2分钟。但是在完成负载测试后,输出的 test.txt 文件显示80行,这意味着仅完成了 80个请求,而不是所需的 1200(10 * 2 * 60)行/请求。我认为这是aws的问题,默认情况下它设置为具有 15个线程和1个进程。我已将配置更改为具有 100个线程,并重新启动了服务器。但是相同的错误仍然存​​在(再次请求80次)。我尝试了python的inbuild线程模块来查找活动线程的总数

print(threading.active_count())

即使我将线程总数设置为100,它也会输出21。我到底在哪里出错

0 个答案:

没有答案