Re: RoR website 效能問題
※ 引述《godfat (godfat 真常)》之銘言:
: 真的要先說我對 web development 不熟... orz
: ※ 引述《xuitejoke (xxddite)》之銘言:
: : 而只要一個人 hang 住,其他人亦無法進來。myangelsays.com 至
: : 發生 peak 時亦曾發生 memory leak ,導致 process 被 OS kill 掉
: : => 到這裡我才知道為什麼要開 cluster 前面再做 balancer
: 我個人是認為 mongrel 一定要做 cluster, 原因是 mongrel 好像
: 一次只能處理一個 request? 這樣有人 hang 住其他人當然進不來...
: 這好像也是因為 rails multi-thread 有問題?所以用 multi-process 來處理。
: apache 也有大量 prefork 不是?雖然說 apache 效能似乎很差?
apache2.x有分prefork和worker(thread)
如果是prefork的話效能的確不如lighttpd 但如果是worker則會勝出
不論是在效能 記憶體佔用 和process數量上
不過worker的缺點就是程式死掉時會一起死
不幸的是ruby的thread不是真正的thread 所以效能跟記憶體消耗降不下來
因此駐定是prefork的ror 求最大效能的話請用lighttpd+fastcgi
lighttpd有一些撇步(x-sendfile...)可以在某些情形下取得優勢
: : =>結論:要乖乖做 balancer 和做 cache。否則 request 一高的確比 apache+php 容易
: : 爆炸一百倍。但是日 pv 在 5000 以下可以完全不用理會這個問題。
: apache + php 一般是不是用 mod_php? 聽說這效能很好,再加上,apache 本身可以處理
mod_php搭配worker apache的效能跟記憶體消耗的確是非常的好
自己試過的話 mongrel+proxy的效能大概在同樣的logic只有mod_php的一半
當然是指沒cache的前提之下
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 60.250.147.190
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 8 之 8 篇):