以gevent(协程) 方式跑uwsgi服务
当你的系统存在一些IO或网络请求较久的操作时, 如果以默认的方式启动uwsgi服务,
那么如果这类请求过多的时候, 所以进程被卡死. uwsgi就无法再对后续请求做处理了.
这时可以用gevent的方式跑起uwsgi服务, 这样当某个请求在IO或网络请求中时, uwsgi进程可以去处理其他的请求.
如果环境没装gevent的话需要先安装gevent:
pip install gevent
启动方式:
uwsgi --gevent 100 --gevent-early-monkey-patch uwsgi.ini
顺便把uwsgi文件的配置也放出来下:
[uwsgi]
base = path
chdir = path
wsgi-file = manage.py
callable = app
pidfile = project_pid
master = true
processes = 4
socket = 0.0.0.0:8080
# http = 0.0.0.0:8080
vacuum = true
buffer-size = 32768
listen = 1024
# log-reopen = true
# daemonize = %(base)/logs/project.log
supervisor配置如下:
[program:project]
process_name=%(program_name)s
command=/home/ubuntu/.virtualenvs/project/bin/uwsgi --gevent 100 --gevent-early-monkey-patch /var/www/prod/project/uwsgi.ini
autostart=true
autorestart=true
stopsignal=QUIT
user=root
numprocs=1
redirect_stderr = true
stdout_logfile=/var/log/python/project.log
stdout_logfile_maxbytes=50MB
stdout_logfile_backups=5
以gevent(协程) 方式跑uwsgi服务的更多相关文章
- python2.0_s12_day9_协程&Gevent协程
		Python之路,Day9 - 异步IO\数据库\队列\缓存 本节内容 Gevent协程 Select\Poll\Epoll异步IO与事件驱动 Python连接Mysql数据库操作 协程 1.协程,又 ... 
- Python进阶----异步同步,阻塞非阻塞,线程池(进程池)的异步+回调机制实行并发, 线程队列(Queue, LifoQueue,PriorityQueue), 事件Event,线程的三个状态(就绪,挂起,运行) ,***协程概念,yield模拟并发(有缺陷),Greenlet模块(手动切换),Gevent(协程并发)
		Python进阶----异步同步,阻塞非阻塞,线程池(进程池)的异步+回调机制实行并发, 线程队列(Queue, LifoQueue,PriorityQueue), 事件Event,线程的三个状态(就 ... 
- 什么是协程?与线程和进程对比优劣在哪?gevent协程示例代码
		协程 协程,又称微线程,纤程.英文名Coroutine..一句话说明什么是线程:协程是一种用户态的轻量级线程. 协程拥有自己的寄存器上下文和栈.协程调度切换时,将寄存器上下文和栈保存到其他地方,在 ... 
- Python之路-python(Queue队列、进程、Gevent协程、Select\Poll\Epoll异步IO与事件驱动)
		一.进程: 1.语法 2.进程间通讯 3.进程池 二.Gevent协程 三.Select\Poll\Epoll异步IO与事件驱动 一.进程: 1.语法 简单的启动线程语法 def run(name): ... 
- python_协程方式操作数据库
		# !/usr/bin/python3 # -*- coding: utf-8 -*- import requests import gevent import pymysql from gevent ... 
- python并发编程之gevent协程(四)
		协程的含义就不再提,在py2和py3的早期版本中,python协程的主流实现方法是使用gevent模块.由于协程对于操作系统是无感知的,所以其切换需要程序员自己去完成. 系列文章 python并发编程 ... 
- Python中Paramiko协程方式详解
		什么是协程 协程我们可以看做是一种用户空间的线程. 操作系统对齐存在一无所知,需要用户自己去调度. 比如说进程,线程操作系统都是知道它们存在的.协程的话是用户空间的线程,操作系统是不知道的. 为什么要 ... 
- gevent协程、select IO多路复用、socketserver模块  改造多用户FTP程序例子
		原多线程版FTP程序:http://www.cnblogs.com/linzetong/p/8290378.html 只需要在原来的代码基础上稍作修改: 一.gevent协程版本 1. 导入geven ... 
- 【python】gevent协程例子
		说在前面:用协程还是多线程需要仔细考量.我在做实验时请求了100w个ip,分别用pool为1000的协程和64个线程来跑,结果是多线程的速度是协程的10倍以上. 一个简单的协程例子 #!/usr/bi ... 
随机推荐
- 为Spring Cloud Config Server配置远程git仓库
			简介 虽然在开发过程,在本地创建git仓库操作起来非常方便,但是在实际项目应用中,多个项目组需要通过一个中心服务器来共享配置,所以Spring Cloud配置中心支持远程git仓库,以使分散的项目组更 ... 
- 51nod-1574-排列转换
			1574 排列转换 题目来源: CodeForces 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 收藏 关注 现在有两个长度为n的排列p和s.要求通过交换 ... 
- HDU1595-最短路-删边
			find the longest of the shortest Time Limit: 1000/5000 MS (Java/Others) Memory Limit: 32768/32768 ... 
- linux---进程,(rpm,yum)软件包
			3) 为新加的硬盘分区,一个主分区大小为5G,剩余空间给扩展分区,在扩展分区上划分1个逻辑分区,大小为5G fdisk -l fdisk /dev/sdb p 查看 n 新建 p 主分区 ... 
- 【待填坑】ajax问题
			原生xhr怎么写? 怎么处理回调? 问:http状态码常见有哪些? 问:302是啥?304是啥?什么时候会返回304?你刚刚说浏览器缓存,具体缓存机制是怎么样的? 问:你刚刚说的是发起一个get请求, ... 
- CSS布局 — 圣杯布局与双飞翼布局
			圣杯布局 实现原理 html代码中,middle部分首先要放在container的最前部分,然后是left,right 将三者都设置 float:left, position:relative (因为 ... 
- C++进阶3.字节对齐 联合
			C++进阶3.字节对齐 联合 20131011 多益和金山笔试 知识漏洞 20131011 前言: 今天下午是多益网络的笔试,整体感觉还好,但是找到很多的知识漏洞.一直笔试到6:00,然后紧张的从会生 ... 
- 【hdu1005】Number Sequence
			题目描述 一个数列的定义如下: f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) + B * f(n - 2)) mod 7. 给出A和B,你要求出f(n). 输入 输 ... 
- LeetCode OJ:Valid Sudoku(有效数独问题)
			Determine if a Sudoku is valid, according to: Sudoku Puzzles - The Rules. The Sudoku board could be ... 
- L151
			In Toothy Prequel, Piranha-Like Fish Menaced Jurassic Seas You can call it a prehistoric prequel.Sci ... 
