Gunicorn 详解
Gunicorn是一个正式环境使用的 高性能的Python WSGI服务器。
和大多数的web框架兼容,与uwsgi相比 他使用更加简单方便 更轻量级 性能也非常不错。
使用配置文件启动gunicorn
gunicorn支持多种格式的配置文件 支持python文件配置 非常方便
# py配置文件 import multiprocessing bind = '0.0.0.0:80' # 宕机30秒重启 timeout = 30 # 工作模式 worker_class = 'gevent'
# worker数量推荐 机器核心数*2+1 workers = multiprocessing.cpu_count() * 2 + 1
# 线程数推荐 2-4 threads = 3 # 最大并发连接数默认1000 worker_connections = 1000
worker_class工作模式
gunicorn支持多种工作模式 默认使用sync
sync 同步的工作模式 性能最差
eventlet: 协程的工作模式 需要下载eventlet>=0.9.7
gevent: 协程的工作模式 需要下载gevent>=0.13
tornado:基于tornado 需要下载tornado>=0.2
gthread: 多线程模式 利用线程池管理连接
gaiohttp:基于aiohttp 需要python 3.4和aiohttp>=0.21.5
经过测试eventlet与gevent性能最佳
gevent比较支持cpython
eventlet比较支持pypy
使用哪个工作模式视情况而定