Flask,uWSGI,nginx-大型有效载荷的蝗虫测试失败

问题描述

我正在RHEL上通过uwsgiNginx运行flask应用程序。我正在远程使用蝗虫进行群测试,但是在较大的服务调用上却遇到了几乎100%的失败,这些服务通过json返回10,000条记录。在使用Nginx之前,该问题始终被报告为“远程主机关闭了连接”,但是现在我有Nginx,却遇到502错误

Nginx uwsgi中有哪些配置选项,以便在终止连接之前更宽容更大的有效负载?也许这是我需要在蝗虫测试端设置的东西,但是我怀疑主机是否正在重置连接。我在其他主机上运行蝗虫。

如果这是Linux问题(套接字上的队列大小),我真的不知道从哪里开始。由于某些原因,尽管我落后于Nginx可能会改变某些东西,但是如果问题出在uwsgi或RHEL本身上,那显然是行不通的。

它是一个相当大的AWS计算服务器,具有15 Gb的RAM。

奇怪的是,它似乎正在“热身”,在测试开始时给了我100%的失败,但后来又减少了。

我的wsgi.ini文件如下:

[uwsgi]
# http = :5000
socket = ariel-api.sock
chmod-socket = 664
vacuum = true
# stats = :5001
# listen = 1000
# stats-http = true
die-on-term = true
wsgi-file = wsgi.py
callable = app
master = true
http-timeout = 360
threads = 8
single-interpreter = true
disable-logging = true
harakiri = 360                       ; forcefully kill workers after 360 seconds
py-callos-afterfork = true           ; allow workers to trap signals
max-requests = 1000                  ; Restart workers after this many requests
max-worker-lifetime = 360            ; Restart workers after this many seconds
reload-on-RSS = 2048                 ; Restart workers after this much resident memory
worker-reload-mercy = 360            ; How long to wait before forcefully killing workers
cheaper-algo = spare2
workers = 128                        ; Maximum number of workers allowed
cheaper = 32                         ; Minimum number of workers allowed
cheaper-initial = 32                 ; Workers created at startup
cheaper-overload = 1                 ; Length of a cycle in seconds
cheaper-step = 16                    ; How many workers to spawn at a time
cheaper-idle = 60                    ; Cheap one worker per minute while idle
~

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)