uwsgi的3个容易掉坑的配置(timeout、harakiri、buffer-size)

我采用的.ini文件

[uwsgi]
master = true
wsgi-file=myppt/wsgi.py
processes = 1
threads = 2
chdir = /www/wwwroot/ppt_jpg/myppt/
http = 127.0.0.1:9876
virtualenv=/www/wwwroot/ppt_jpg/myppt/ppt_venv
daemonize=uwsgi.log
logto=/www/wwwroot/ppt_jpg/myppt/logs/error.log
pidfile=uwsgi.pid
harakiri=3600
http-timeout=3600
chmod-socket = 660
python-autoreload=1
buffer-size=220000000
socket-timeout=3600
vacuum = true
master = true
max-requests = 1000
1.http-timeout和socket-timeout(连接时间)

http-timeout=60 # 就是60秒
一般情况下,我们的uwsgi都是配合nginx使用的,所以用的都是socket-timeout参数。
这两者的区别简单说就是:uwsgi单独使用就用http, 配合nginx就用socket

解释下这两个时间的意义:
举个例子:
	前端(客户端)访问后端(服务器),服务器需要运行5分钟才能给前端返回响应,
	但是http-timeout或者socket-timeout设置的是60,那么一分钟后,我的前端和后端
	就断开连接了, 
	!但是!我的服务器还是会坚持把这5分钟的活干完,只不过没有办法给前端返回
	响应了!
	(顾客去餐厅吃饭,做饭需要10分钟才能上菜,顾客等了1分钟就跑路了!)
2.harakiri(服务器响应时间)

harakiri=60 # 就是60秒

和http-timeout有点类似,举个例子:
	前端(客户端)向后端(服务器)发送到一个请求,等待服务器响应,服务器
	需要1分钟来计算数据,但是我的harakiri就设置了10秒,那么10秒一到,
	我们的服务器就强制终止了计算,前端肯定就得不到响应了。
	(老板给员工发了一个任务,这个任务需要5天完成,这个员工干了一天
	就撂挑子了!)
3.buffer-size(前后端传输数据大小)

buffer-size=1024 # 就是1024k,1M

这个容易理解,比如前段(客户端)向后端(服务器)发了一个请求,这个
请求的大小是5M,那么buffer-size的大小就得大于1024*5,不然就报错了

我这里就写这三个配置,至于其他的配置,百度一搜一大把。

你可能感兴趣的:(python)