[Django] Deploy Django Server
Nginx,uWSGI与Django 应用的关系
3.uWSGI + Nginx
uWSGI 是性能极高的一个由C 编写的服务器,使用了自身独占的uwsgi 协议,这次让它配合Nginx 处理Django 的request,参数为4 进程 + 2 线程,性能立即直线商城,处理请求的成功率也基本在90% 左右,原作者在测试的时候遇到了一个坑,就是uWSGI 在处理请求的时候发送了队列溢出的问题,因为当前测试设置的并发数为每秒1000 次并发,而uWSGI 的处理队列的容量默认是100*(启动的uWSGI 的进程数),导致处理请求的时间加长,而这个问题则可以通过修改somaxcon 的大小解决(具体做法在5 个配置下面 ),总的来说,使用uWSGI + Nginx 是一个理想的选择。
4.Gunicorn + Nginx
gunicorn 跟 uWSGI 类似,也是一个高性能的http 服务器,它由ruby 的unicorn 项目移植,是由Python 编写的,它的配置简单,而且可以灵活的搭配其他网络库,部署十分方便,在测试数据中可以看到,用这种配置运行Django 能在短时间内就能处理大量的并发请求,成功率在90% 左右。
(我们之前这种配置都是配置Flask 框架开发的Web 服务器)
5.Gunicorn + Nginx +Gevent
前面说的几种环境,看似不错,但是作者说了,我们需要追求完美!由于gunicorn 是同步(sync)单线程模型的,有时候不免会发生一些阻塞问题,这时候我们为gunicorn 加上 -k gevent 参数来用gevent 做处理接口,这就比较靠谱的处理了阻塞问题,从作者的测试结果可以得到,这种模式下不仅拥有100% 的处理成功率,而且时间也在很短之内完成,是5组测试数据当中性能最好的!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)