普通的架設(shè)一臺Web服務(wù)器已經(jīng)非常簡單,尤其是在Windows平臺上,很多Web服務(wù)器軟件都有圖形化的安裝工具和圖形化的管理工具。然而,如何使得架設(shè)的Web服務(wù)器能真正達到承擔(dān)非常高的負載 ?
對于任何網(wǎng)站,其提供的內(nèi)容都可以分為靜態(tài)網(wǎng)頁或動態(tài)網(wǎng)頁兩種,由于網(wǎng)站可以提供動態(tài)內(nèi)容,整個網(wǎng)站的負載就不但包括Web服務(wù)器的負載,而且還要包括后端應(yīng)用軟件(CGI,PHP等),數(shù)據(jù)庫服務(wù)器的負載等。此時如何提高整個站點的負載能力就相對復(fù)雜。通常的做法是使用垂直劃分的方法,將不同的功能劃分到不同的服務(wù)器上去,這是因為為了讓W(xué)eb服務(wù)器達到最佳的性能和負載能力,需要針對不同目的進行調(diào)整服務(wù)器參數(shù)設(shè)置,提供靜態(tài)網(wǎng)頁的服務(wù)器和提供動態(tài)訪問的服務(wù)器有不同的要求。
雖然越來越多的網(wǎng)站中,動態(tài)內(nèi)容變得非常重要,但是一個網(wǎng)站中大多數(shù)訪問還是對于靜態(tài)數(shù)據(jù)的訪問。而且,即使對于一個提供動態(tài)內(nèi)容Web服務(wù)器來講,它除了要滿足后端應(yīng)用程序的性能要求之外,其他需要注意的問題和提供靜態(tài)內(nèi)容的Web服務(wù)器是相同的。很多情況下,還會特別要求服務(wù)器能提供優(yōu)秀的靜態(tài)數(shù)據(jù)訪問能力,例如提供圖片、音樂、視頻片段的服務(wù)器。在另一方面,對于訪問量較大的站點,通常使用會使用負載均衡的技術(shù),通過使用多臺服務(wù)器構(gòu)成的服務(wù)器集群來分擔(dān)負載。這種服務(wù)器集群或負載均衡的技術(shù)已經(jīng)相當成熟,尤其對于大型網(wǎng)站,其應(yīng)用非常廣泛。這種方法中每臺服務(wù)器的功能相同,因此可以稱為水平劃分的方式。
一個真正的高負載站點通常綜合利用以上的方法,將負載分配到不同的服務(wù)器上,以便解決服務(wù)器的負載問題。然而,對網(wǎng)站的訪問隨機性相當大,并且還會隨著一個網(wǎng)站內(nèi)容的豐富,訪問量會迅速增加。因此,一個系統(tǒng)管理員需要真正了解Web站點的負載能力,以便能夠滿足不斷增加的訪問者的訪問。
對于下列問題或者類似問題:
1、某VPS能支持多少PV?
2、某VPS能支持多少IP?
3、某VPS能支持多少訪問量?
4、某VPS能支持多少人在線?
5、xxx IP需要哪個VPS?
6、xxx PV需要哪個VPS?
7、xxx 人在線需要哪個VPS?
統(tǒng)統(tǒng)沒有答案。
沒有答案的原因:
(1)一次靜態(tài)(HTML、JS、圖片等)HTTP請求和一次動態(tài)(ASP、PHP等)HTTP請求消耗的資源(CPU、內(nèi)存等)相差數(shù)倍到數(shù)十倍。
(2)注意上面的的是一次HTTP請求,而不是一次頁面訪問(1PV),每次訪問產(chǎn)生的HTTP請求數(shù)量可能相差數(shù)倍。
(3)1個IP產(chǎn)生的PV可能相差數(shù)倍,可能你的網(wǎng)站IP和PV訪問比例固定進而能根據(jù)根據(jù)IP量計算PV數(shù)量,即便能算出來,也沒什么意義,原因見綜上和綜下所述。
(4)不同的網(wǎng)站程序,負載能力不同,一般來說,靜態(tài)HTML消耗的資源遠小于動態(tài)程序(PHP、ASP等)。不同的靜態(tài)網(wǎng)頁訪問資源占用情況大致相同,不同的動態(tài)網(wǎng)站程序消耗的資源差距由于基數(shù)較大導(dǎo)致結(jié)果相對也大。
(6)相同的網(wǎng)站程序,不同的設(shè)置,消耗的資源不同。以Discuz和DedeCMS為例,網(wǎng)站后臺與負載有關(guān)的設(shè)置都有提示。
(7)不同的Web服務(wù)器,負載能力不同。一般來說,Linux上常用的Web服務(wù)器資源消耗情況如下,APACHE > Lighttpd ≈ Nginx。
(8)相同的服務(wù)器環(huán)境(Web、DB),不同的設(shè)置參數(shù),消耗的資源可能不同。
*注:以上每條中所講的“相同”和“不同”都是假定其他因素完全一致的情況下(很明顯,這樣的假定僅限于理論,所以完全不能用于實際中的計算)。
基于以上原因,部分用戶想以“相同的網(wǎng)站程序”、“某一PV或IP數(shù)量”為條件來計算相關(guān)所需要的資源,這里的答案只能是,無法計算。