作者xuitejoke (xxddite)
看板Ruby
标题Re: RoR website 效能问题
时间Mon Feb 18 15:07:07 2008
中肯网(已关站) ( 7k, 2k, 1 mongrel)
绝望网 ( 10k,2k, 1 mongrel)
myangelsays.com (已关站) ( 7k, 2k, 1 mongrel)
veryxd.net (160k, 20k, 10 mongrel => cluster )
peak pv / avg pv / mongrel 数
这是我十二月写的四个网站,我 blog 的应该大致上有提过这些是什麽网站。
前两个就是好看一点的留言版,後面两个就是恶搞的合图程式。
四个 solution 都是 apache + mongrel。(hw9 会场有讨论 fcgi 再起不能机率太高)
在投影片中有提过这是一场实验
*[1;32m主要是我想看看为什麽 rails project 这麽强调需要 reverse proxy。*[m
以及 mongrel 的抗压临界点。
这四个网站通通前面只有挂 apache,後两者出图的更没有对 js/css/image 做 cache。
(我知道指南有教人要做,但是我不知道为什麽需要早期就要设,
印象写 php 时通常要到站已经非常大规模时才需要做这件事
A所以我故意先等着,看看什麽时候才是设上去的时间点)
前两者目前为止都没有垮掉需要重开的迹象。
不过只要 pv 高到日超过 5~7k,就会小 hang 住。
虽然 mongrel 会自动回复,但是需要很久时间才会回复正常。
而只要一个人 hang 住,其他人亦无法进来。
myangelsays.com 至发生 peak 时亦曾发生 memory leak ,导致 process 被 OS kill 掉
=>
到这里我才知道为什麽要开 cluster 前面再做 balancer
----
会场上亦有问到为何要开 10 只 mongrel 做 balancer 那麽多。
事实上是因为我懒惰,所以开十只,到这边每天都很顺畅愉快。
不过到了 160k 那次,我才知道为什麽要让 apache 对 static file 做 cache。
因为即使开了 10 只 mongrel,它还是承受不了同时间那麽多的 request。
loading 会变得很大很大,apache config 加上去瞬间就解决这个问题。
=>
到这里我才知道即使是 rails 界的众人称赞的 mongrel,抗压临界点其实也不高
----
===>
结论:要乖乖做 balancer 和做 cache。否则 request 一高的确比 apache+php 容易
爆炸一百倍。但是日 pv 在 5000 以下可以完全不用理会这个问题。
--
什麽都破,什麽都烂,什麽都不奇怪。
http://blog.xdite.net
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.113.27.39
※ 编辑: xuitejoke 来自: 140.113.27.39 (02/18 15:08)