[后端]nginx+tornado+supervisor提升并发量 @ 备忘

部署有nginx的机器每一个核都会启动一个worker进程,用来接受处理客户端发来的请求。为了做负载均衡,worker会根据一定的规则将请求分发到后面的某一台机器上。由于我的nginx机器后面只有一台四核机器,所以我是这样分发请求的,配置文件中相应位置这样写:

    upstream news_baijia{

        server 0.0.0.0:9999;
        server 0.0.0.0:9998;
        server 0.0.0.0:9997;
        server 0.0.0.0:9996;
    }

这相当于将请求分发到0.0.0.0这台机器的四个端口中的某一个端口上去了。而在0.0.0.0这台机器上呢,启动了四个tornado的service的实例(是同一个web app),分别监听不同的四个端口。为什么监听四个端口呢?因为这台机器是四核,每个核运行一个进程,多进程处理请求。

然后再使用supervisor启动并监控这四个进程就好了。

时间: 2024-10-08 02:53:35

[后端]nginx+tornado+supervisor提升并发量 @ 备忘的相关文章

Nginx优化_访问并发量(进程可以打开的最大文件数量)

如果客户端访问服务器提示“Too many open files”如何解决? [[email protected] ~]# ab -n 2000 -c 2000 http://192.168.1.100/    #高并发访问Nginx代理的网站,提示打开文件数量过多 Benchmarking 192.168.1.100 (be patient) socket: Too many open files (24) 优化步骤: 1.  调整Nginx的主配置文件,增加并发量. [[email prot

Nginx + tornado + supervisor部署

参考链接:supervisor + Tornado + Nginx 使用详解, 用tornado ,Supervisord ,nginx架网站, tornado官方文档 项目文档树: . ├── chnservices │   └── channels.py ├── etc │   ├── chnservices.conf │   ├── nginx │   │   └── nginx.conf │   ├── supervisord.conf │   └── supervisord.conf.

nginx记录真是的IP地址 <备忘>

nginx.haproxy等作为代理服务器时,要使后端web服务器记录真是的IP地址,需要配置: location / {     proxy_set_header    Host    $host;     proxy_set_header    X-Real-IP    $remote_addr;     proxy_set_header    X-Forwarded-For    $proxy_add_x_forwarded_for;     proxy_buffering    off;

优化Nginx并发量

1)优化前使用ab高并发测试 客户端测试# yum -y install httpd-tools.x86_64 # ab -c 200 -n 200 http://192.168.4.5/ # 192.168.4.5后面的斜线 / 必须要敲.c代表client.ab是模拟器.n是number.200个人总共点了200次,相当于每个人1次.--------------------------------------------------------------------------------

提升高并发量服务器性能解决思路

刚刚在网上淘了一个提升高并发量服务器性能解决思路,个人感觉非常不错,给大家分享出来,希望给您有所帮助. 提升高并发量服务器性能解决思路 一个小型的网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构.性能的要求都很简单.随着互联网业务的不断丰富,网站相关的技术经过这些年的发展,已经细分到很细的方方面面,尤其对于大型网站来说,所采用的技术更是涉及面非常广,从硬件到软件.编程语言.数据库.WebServer.防火墙等各个领域都有

tornado + supervisor + nginx 的一点记录

看了比较多的blog基本都是这个架构: supervisor ------------ app1 |-------app2 |-------.... |-------appn |-------nginx |-------redis 统一都交给supervisor来管理.总觉得哪里不对: 1) nginx作为supervisor的子进程,会有问题,它貌似会不断的去执行启动(导致大量的错误日志:端口已经被占用) 2)   nginx 和 redis 的启动与配置与app之间应该是没有耦合关系的,和s

nginx优化 突破十万并发

nginx优化 突破十万并发 一.一般来说nginx 配置文件中对优化比较有作用的为以下几项: 1. worker_processes 8; nginx 进程数,建议按照cpu 数目来指定,一般为它的倍数 (如,2个四核的cpu计为8). 2. worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000; 为每个进程分配cpu,上例中将8 个进程分配到8 个cpu,当然可以

virtualenv 环境下 Django + Nginx + Gunicorn+ Supervisor 搭建 Python Web

在这篇文章里,我们将搭建一个简单的 Web 应用,在虚拟环境中基于 Flask 框架,用 Gunicorn 做 wsgi 容器,用 Supervisor 管理进程,然后使用 OneAPM Python 探针来监测应用性能,形成一个「闭环」 !希望能对大家有所帮助,首先简单来介绍一下环境: 系统环境:ubuntu 14.04 Python 2.7.6 安装组件库 第一步安装所需要的存储库,因为打算用到虚拟环境,用到 pip 安装和管理 Python 组件,所以先更新本地包,然后安装组件: sudo

使用gevent提高IO繁忙型wsgi服务的并发量(转)

add by zhj: 个人认为gevent还是更牛逼一些,当然,这只是我简单的分析,没有试验过.对比分析如下: 使用Tornado,启动一个进程,N个线程 使用Gevent,启动一个进程,N个协程 CPU除了执行用户代码外,就是调用调用程序进行线程/协程切换.而协程切换要比线程切换的开销小,速度快,所以Gevent的并发性能应该更好. 原文:https://co-ding.com/?p=356#comment-6036 我的一个线上web服务在生产中遇到一个性能问题:当初为了方便选择了wsgi