python 高性能web框架 gunicorn+gevent
参考链接: http://rfyiamcool.blog.51cto.com/1030776/1276364/
http://www.cnblogs.com/nanrou/p/7026789.html
前言
gunicorn 是支持wsgi协议的http服务器,gevent只是它支持的模式之一,是为了解决django、flask这些web框架自带wsgi server性能低下的问题。自带的web server更多的是测试用途,线上发布时,最好使用高性能的wsgi server 或者是联合nginx做uwsgi
gunicorn 的运行方式:
gunicorn wsgi:application
其中wsgi就是wsgi.py文件, application就是那个wsgifunc的名字,默认端口是8000
如果要监听别的端口
gunicorn -b 127.0.0.1:8090 wsgi:application
在多核服务器上,为了支持更多的并发访问并充分利用资源,可以使用更多的gunicorn进程
gunicorn -w 8 wsgi:application
这样,就可以启动8个进程同时处理HTTP请求,提供系统的使用效率及性能
gunicorn wsgi:application
#8个worker
gunicorn -w 8 wsgi:application
#指定端口号
gunicorn -w 8 -b 0.0.0.0:8888 wsgi:application
#unix socket
gunicorn -w 8 --bind unix:/xx/mysock.sock wsgi:application
#使用gevent做异步(默认worker是同步的)
gunicorn -w 8 --bind 0.0.0.0:8000 -k 'gevent' wsgi:application
#选项挺多,看文档或者使用 --help都可以查看
--log-level=DEBUG
--timeout=100
BUT,gunicorn默认使用同步阻塞的网络模型(-k sync),对于大并发的访问可能表现不够好,可以使用gevent 或 meinheld
# gevent
gunicorn -k gevent code:application
# meinheld
gunicorn -k egg:meinheld#gunicorn_worker code:application
也可以通过 -c 参数传入一个配置文件实现
---------------------
作者:pNull
来源:CSDN
原文:https://blog.csdn.net/u011138533/article/details/76559251
版权声明:本文为博主原创文章,转载请附上博文链接!
最新文章
- C语言可以开发哪些项目?
- CentOS7下GNOME桌面的安装
- C 语言学习的第 01 课:先来聊聊计算机吧
- dotfiles管理
- Cocos2d-x3.x塔防游戏(保卫萝卜)从零开始(三)
- Yii2提示信息设置方法
- (翻译)初学者的object-C指南
- hibernate 对象状态异常:object references an unsaved transient instance - save the transient instance before flushing
- SPOJ DQUERY 求区间内不同数的个数 主席树
- UVA 1599 Ideal Path(bfs1+bfs2,双向bfs)
- Flex 百度地图API使用
- ESLint入门
- Django 框架介绍
- 通过VuePress管理项目文档(一)
- 【repost】H5的新特性及部分API详解
- Weblogic的安装与卸载
- set_magic_quotes_runtime
- pythonl练习笔记——PythonNet 套接字socket
- nginx 与 浏览器缓存
- 一次MySQL线上慢查询分析及索引使用
热门文章
- 详解DNS,你真的懂吗?
- 分布式架构和微服务CI/CD的范本技术解读
- solr 简要笔记
- GBDT调参
- Solidworks如何绘制文字
- python之入门,你好,中国
- TCP 的那些事儿(下)(转)
- Android Problem- android.content.res.Resources$NotFoundException: String resource ID #0xa
- Android自己定义View基础篇(三)之SwitchButton开关
- 怎样求结构体成员的偏移地址 || 结构体的 sizeof 总结