# not support multiprocess, because offset save in memory
workers = 1
bind = ["127.0.0.1:8000"]
backlog = 2048
worker_class = 'egg:meinheld#gunicorn_worker'
worker_connections = 2000
daemon = False
debug = False
keepalive = 60
proc_name = 'main'
pidfile = './log/gunicorn.pid'
errorlog = './log/gunicorn.log'
workers
# 进程数量,默认为1
# 用于处理工作进程的数量
# worker推荐的数量为当前的CPU个数*2 + 1。
# 计算当前的CPU个数方法并设置:
# 计算当前的CPU个数方法并设置:
import multiprocessing
workers = multiprocessing.cpu_count() * 2
worker_class
工作模式 默认值 sync 一次只处理一个请求
多个工作模式
同步Worker:sync 默认模式,也就是一次只处理一个请求
异步Worker:通过Eventlet、Gevent实现的异步模式
异步IO Worker:目前支持gthread和gaiohttp两种类型
worker_connections
客户端最大同时连接数 默认 1000
threads 线程数
threads 线程数 默认值 1
此配置只适合gthread进程工作方式 因为gevent使用写协程工作方式
max_requests 最大请求书
max_requests 最大请求数 默认值 0
为0时 禁止worker的自动重启
这个方法主要是防止内存泄露
当超过max_requests时,会重启woker
keepalive 连接上等待请求的秒数
默认值 2 一般设定在1-5秒之间
网友评论