1
molinxx 2013-03-08 16:24:40 +08:00 2
nginx轻量化web服务器作为PHP前端,动态负载强于apache,同配置性能高出50%,两者都经过特别优化后,nginx性能可以高出150%
|
2
talentsnail OP @molinxx 谢谢。
不知道V2EX的运行环境是什么样的? |
3
llbgurs 2013-03-08 20:30:56 +08:00
supervisord是一个进程管理工具,当tornado进程挂了,supervisord可以把它拉起来
|
4
tarsier 2013-03-08 20:42:15 +08:00 1
用supervisord将 tornado的进程"托管"起来, 比如有4个tornado进程绑定了 9021, 9022, 9023, 9023的四个端口
然后nginx就可以在前端做轮训来负载均衡,将请求分发给这4个tornado进程 supervisord 本身会在进程挂掉时重启,方便管理进程 |
5
btwo 2013-03-08 21:19:54 +08:00
我算带问一句,静态文件(纯HTML)可以直接走nginx吧?不经过tornado的处理。然后512M的Linode分配给MYSQL和nginx的内存分别是多少比较合适。
|
6
yetone 2013-03-08 21:40:48 +08:00
@molinxx V2EX 估计就是 nginx+tornado+supervisord ,nginx 负责静态文件,tornado 负责动态负载,supervisord 负责维护 tornado 进程
|
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 |
8
talentsnail OP |