2010-08-12 48 views
0

我在一個網站上看到,在Apache前面安裝Lighttpd的另一個好處是子進程的數量更少。由於Lighttpd和Apache之間的低延遲通信,Lighttpd將處理保持活動和客戶端請求,同時Apache的子進程可以更快地爲動態頁面提供服務。我試圖找到鏈接,但我很難。在Apache前面安裝Lighttpd的另一個好處

鑑於我的靜態內容(img,vid,css,js,html等)以及另一個專用於我的動態頁面(php)的Apache服務器已經有專門的Lighttpd服務器,我想實現這個技術,如果它真的有一些性能增益。

1)有沒有人把Lighttpd放在Apache前面,就像上面解釋的一樣?
2)是否真的有性能上的提升呢?多少?
3)Lighttpd處理Apache請求的開銷是多少?它真的值得嗎?

謝謝!

+0

這聽起來更像是一個服務器故障問題。 – Cromulent 2010-08-12 10:05:27

+0

我真的很抱歉。我只注意到Server Fault對於這個問題更適合。 Stack Overflow中是否有標準過程,我應該這樣做? – abednegoyulo 2010-08-12 10:24:01

+0

我只是將問題發佈到更合適的地方。 http://serverfault.com/questions/169714/another-benefit-of-lighttpd-in-front-of-apache 現在,如果我只能關閉這一個... – abednegoyulo 2010-08-12 10:36:20

回答

0

對於靜態CDN,Lighttpd非常適合數據庫交互式腳本與Apache的配合使用。

0

一般來說,我已經看到這種技術非常好,但是,而不是lighthttpd,我會使用另一個Apache實例(不要不必要地增加框上的軟件數量)。

您獲得的收益主要與內存有關。如果您使用的是非常「胖」的Apache在prefork中使用mod_perl或PHP或其他一些需要佔用內存的模塊,那麼必須將MaxClients設置得非常低以避免將RAM拉高。

另一方面,MaxClients然後可以通過保持活動請求,SSL握手,圖像下載和其他瑣碎的活動到達,這些活動無用地消耗大量和大量內存。

前面的一個小「瘦」服務器(可以是另一個沒有mod_perl,PHP等的Apache實例)可以處理Keepalive,圖像,SSL,重定向等,然後讓主實例處理所有沉重的東西。此外,你可以保護你的主實例免受非常緩慢或根本不發送請求的惡意客戶(我從非破壞性客戶端在舊的破解版本的IE上使用XMLHttpRequest看到了這一點)。

這是一個很好的方法,如果你的服務器內存耗盡,因爲他們有太多的脂肪,而他們的時間都是無所事事,這肯定會有所幫助。