项目里是用的flask框架,部署的时候使用的uwsgi+nginx,
nginx反向代理给内网端口请求并返回,
由于本次使用了子程序上报的形式,导致了大量并发,所以post过载,
uwsgi中是接收到请求并正常处理的。但ngx报错,client那边不能正常接收返回。
网上说解决方案是加上post-buffering=4096,即指定post-buffering参数。
参考链接说明,http://simple-is-better.com/news/301,此文章还提到post-buffering-bufsize参数。
但,他没说明白post-buffering与post-buffering-bufsize参数的关系,即如果第二设置为64k,第一个post-buffering是不是应该要比64k更大。
因为按我理解,bufsize是读post数据,然后写到post-buffering中,post-buffering不够POST的body大时,就会写文件。
所以,最终我配置是:
post-buffering=131072 # 128K
post-buffering-busize=65536 # 64K
参考文章:
https://blog.csdn.net/toontong/article/details/9170457