Gunicorn 文档翻译
服务器模式
Gunicorn 基于 pre-fork 模式,这意味着有一个主进程管理工作的子进程.主进程对客户端的工作业务有了解.所有的请求和响应都是工作子进程处理.
主进程
主进程是一个简单的循环,监听各种进程的信号并做出相应的反应.它通过监听信号(比如TTIN/TTOU/CHLD)来管理正在运行的工作进程.TTIN和TTOU告诉主进程增加或减少工作的进程数量.CHLD表明一个子进程被终止了,这时主进程就重启这个失败的进程.
同步工作进程
最基础并且是默认的工作类是同步工作模式,一个时间只处理一个请求.这个模式是最简单的因为任何错误只会影响一个请求.
异步工作
异步工作基于Greenlets,这是python对协成的一个实现.一般来说,一个应用可以在不进行任何修改的情况下使用Greenlets.
选择工作类型
默认的同步工作类型是假设你的应用是资源限制型(CPU和带宽受限),这意味着你的应用做的任何事情都不会花费太多的时间.比如,访问网络就符合这个条件.
资源限制的假设就是为什么我们需要一个缓冲代理在默认配置的Gunicorn前面.如果你对外暴露同步模式的工作进程,a DOS attack would be trivial by creating a load that trickles data to the servers.严重的,Slowloris 就是这种类型加载的一个例子.
默认的同步工作模式是在Nginx的基础上设计的,上传服务只用了HTTP/1.0.如果你想部署Gunicorn来处理未经缓冲的请求(比如,直接处理外部网络请求),你需要用异步的模式.
下面是一些需要异步工作类型的行为例子:
1. 你的应用有长时间阻塞的调用(比如:请求外部web services)
2. 直接服务于网络请求(Serving requests directly to the internet)
3. 流式的请求和相应(Streaming requests and responses)
4. 长轮询
5. web sockets
原文:http://docs.gunicorn.org/en/latest/design.html
欢迎批评指正,欢迎大家一起来完善~
Gunicorn 文档翻译的更多相关文章
- 我是如何进行Spring MVC文档翻译项目的环境搭建、项目管理及自动化构建工作的
感兴趣的同学可以关注这个翻译项目 . 我的博客原文 和 我的Github 前段时间翻译的Spring MVC官方文档完成了第一稿,相关的文章和仓库可以点击以下链接.这篇文章,主要是总结一下这个翻译项目 ...
- Hibernate 3.3.2 文档翻译 Day01
Hibernate 3.3.2 文档翻译 翻译人:微冷的雨 第一次书写:2015年11月29日 本人呕心沥血之作,请细心阅读领悟! Day01-1.1 项目描述 微冷的雨翻译:例如,我们将要建立一个可 ...
- Flume官方文档翻译——Flume 1.7.0 User Guide (unreleased version)中一些知识点
Flume官方文档翻译--Flume 1.7.0 User Guide (unreleased version)(一) Flume官方文档翻译--Flume 1.7.0 User Guide (unr ...
- Flume官方文档翻译——Flume 1.7.0 User Guide (unreleased version)(二)
Flume官方文档翻译--Flume 1.7.0 User Guide (unreleased version)(一) Logging raw data(记录原始数据) Logging the raw ...
- python Gunicorn
1. 简介 Gunicorn(Green Unicorn)是给Unix用的WSGI HTTP 服务器,它与不同的web框架是非常兼容的.易安装.轻.速度快. 2. 示例代码1 def app(envi ...
- Debian7下lnmp+gunicorn部署Django运行环境
首先安装lnmp,安装方法见lnmp.org wget -c http://soft.vpser.net/lnmp/lnmp1.3-full.tar.gz && tar zxf lnm ...
- apache(nginx)+django+virutalenv(virtualenvwrapper)+gunicorn+supervisor配置高效web环境
前言 django的调试模式配置简单,用于测试十分方便,但众所周知,这个只适合于调试,生产上运行效率十分低下. 后来考虑用nginx+uwsgi的模式进行,但之前配置过apache+wsgi的方式,感 ...
- Gunicorn 和 Nginx
Web Application Deployment Using Nginx Nginx is a very high performant web server / (reverse)-proxy. ...
- Gunicorn 问题
Does Gunicorn suffer from the thundering herd problem? The thundering herd problem occurs when many ...
随机推荐
- vimium Keyboard Bindings
Modifier keys are specified as `<c-x>`, `<m-x>`, and `<a-x>` for ctrl+x, meta+x, a ...
- 如何在maven中添加jar包
Maven 中央仓库地址: 1. http://www.sonatype.org/nexus/ 2. http://mvnrepository.com/ (本人推荐仓库) 3. http://repo ...
- spring-data-jpa Repository的基本知识
1.项目中的Repository对象的使用 2.Repository 引入的两种方式 继承和使用注解 3.Repository接口的定义 Repository 接口是 spring Data 的一个核 ...
- audio patch(10.9.3) [2.6.1]
; Basic Block Input Regs: rax - Killed Regs: <nothing>0000000000048353 3D8419D411 ...
- Java 创建文件夹和文件
String path="D://my"; File folder=new File(path); if(!folder.exists() && !folder.i ...
- Java数据结构——优先级队列
//================================================= // File Name : PriorityQueue_demo //------------ ...
- ubuntu-E:Encountered a section with no Package: header的解决办法 (转)
E:Encountered a section with no Package: header, E:Problem with MergeList /var/lib/apt/lists/cn.arch ...
- dedecms笔记
截取字符串 方法一: [field:title function="cn_substr(@me,10)"/] 方法二: {dede:arclist typeid=’9′ title ...
- 如何在ubuntu中启用SSH服务
如何在ubuntu14.04 中启用SSH服务 开篇科普: SSH 为 Secure Shell 的缩写,由 IETF 的网络工作小组(Network Working Group)所制定:SSH 为 ...
- Shader
Shader的学习方法总结 http://www.cnblogs.com/Esfog/p/How_To_Learn_Shader.html [Shader 着色器]学习shader之前必须知道的东西之 ...