Re: RoR website 效能問題

看板Ruby作者 (xxddite)時間16年前 (2008/02/18 15:07), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串5/8 (看更多)
中肯網(已關站) ( 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)
文章代碼(AID): #17kIwT4W (Ruby)
討論串 (同標題文章)
文章代碼(AID): #17kIwT4W (Ruby)