V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Tornado Documentation
http://www.v2ex.com/tornado/
Tornado on GitHub
https://github.com/facebook/tornado/
Tornado Gists
http://tornadogists.org/
talentsnail
V2EX  ›  Tornado

阿里云上tornado运行的最佳实践

  •  
  •   talentsnail · 2013-03-08 16:21:34 +08:00 · 6103 次点击
    这是一个创建于 4313 天前的主题,其中的信息可能已经有所发展或是发生改变。
    已经购买了阿里云的服务,操作系统版本是CentOS 6.2,目前正在备案域名。

    请教各位,在阿里云上运行基于tornado+MySQL的web应用,最佳实践是怎样的?

    看网上说的nginx+tornado+supervisord之类的,看不太懂,不知道原理是什么。

    希望大家能给点建议,谢谢!
    8 条回复    1970-01-01 08:00:00 +08:00
    molinxx
        1
    molinxx  
       2013-03-08 16:24:40 +08:00   ❤️ 2
    nginx轻量化web服务器作为PHP前端,动态负载强于apache,同配置性能高出50%,两者都经过特别优化后,nginx性能可以高出150%
    talentsnail
        2
    talentsnail  
    OP
       2013-03-08 18:40:47 +08:00
    @molinxx 谢谢。
    不知道V2EX的运行环境是什么样的?
    llbgurs
        3
    llbgurs  
       2013-03-08 20:30:56 +08:00
    supervisord是一个进程管理工具,当tornado进程挂了,supervisord可以把它拉起来
    tarsier
        4
    tarsier  
       2013-03-08 20:42:15 +08:00   ❤️ 1
    用supervisord将 tornado的进程"托管"起来, 比如有4个tornado进程绑定了 9021, 9022, 9023, 9023的四个端口

    然后nginx就可以在前端做轮训来负载均衡,将请求分发给这4个tornado进程


    supervisord 本身会在进程挂掉时重启,方便管理进程
    btwo
        5
    btwo  
       2013-03-08 21:19:54 +08:00
    我算带问一句,静态文件(纯HTML)可以直接走nginx吧?不经过tornado的处理。然后512M的Linode分配给MYSQL和nginx的内存分别是多少比较合适。
    yetone
        6
    yetone  
       2013-03-08 21:40:48 +08:00
    @molinxx V2EX 估计就是 nginx+tornado+supervisord ,nginx 负责静态文件,tornado 负责动态负载,supervisord 负责维护 tornado 进程
    tarsier
        7
    tarsier  
       2013-03-08 21:53:56 +08:00   ❤️ 2
    @btwo

    linode512 给了4CPU的话,你可以nginx开4个worker,分别绑定到对应的cpu上

    worker_processes 4;
    worker_cpu_affinity 0001 0010 0100 1000;


    当然也可以开8个worker, 每两个绑定在一个cpu上

    nginx本身占内存不大,可能在开启gzip压缩的时候,需要猴子腚压缩buffe的大小, 目测即使你开了4个worker线程,加起来nginx占内存不会超过60m


    剩下的除了给系统留出些, 全都给mysql吧,把sort buffer以及 read / write 都开大些,减少磁盘io
    talentsnail
        8
    talentsnail  
    OP
       2013-03-08 22:49:17 +08:00
    @llbgurs
    @tarsier
    @yetone
    @btwo
    谢谢,感谢已送出!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1091 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 18:48 · PVG 02:48 · LAX 10:48 · JFK 13:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.