Web服務(wù)器性能改進小結(jié)
摘要:
早些年從程序員開始,就接觸的是Web開發(fā),對于Web服務(wù)器有著深厚的感情。但一些年后,不再寫程序的我,開始玩玩架構(gòu),可是發(fā)現(xiàn)架構(gòu)出來的產(chǎn)品對Web服務(wù)器性能有著貪婪的需求,好比計算機對內(nèi)存永遠不滿足一樣。總希望Web服務(wù)器是一個超級無比強大的巨人,可是這種希望就是一種貪婪,所以整理一下,回頭對Web服務(wù)器性能改進做一些小結(jié),希望用以下方式來提高Web服務(wù)性能。
正文:
-
提高Web服務(wù)器本身的配置。
這是最簡單最直接的性能提升,也是最傻瓜式的硬件升級,來加以提升Web服務(wù)器的的性能。
-
提高網(wǎng)絡(luò)寬帶。
既然我們講的是Web服務(wù)器,不可避免的便是網(wǎng)絡(luò)數(shù)據(jù)傳輸。光靠上面一提升CPU、內(nèi)存等還是不夠的。高速寬帶對Web服務(wù)器性能提升也很重要。
-
Web服務(wù)器并行工作。
分布式越來越成為現(xiàn)代軟件應(yīng)用里很好的一種架構(gòu)方式。像我們熟悉的云計算,其實本質(zhì)也就是一種分布式計算。因此高負載的Web站點,用多個Web服務(wù)器分布式結(jié)構(gòu),對性能的提升有很大的幫助。想讓W(xué)eb服務(wù)器并行工作,一般分兩種,一種是擺在不同地域的Web服務(wù)器內(nèi)容完全相同,根據(jù)訪問者不同IP,來決定該訪問者去向哪個服務(wù)器。貌似Google有點這意思,全球有不少Google的服務(wù)器。另外一種當(dāng)然是內(nèi)容不同的,其實也就是功能不同,角色不同,比如一臺提供動態(tài)頁面,一臺提供靜態(tài)頁面,一臺專門處理數(shù)據(jù)等等,這種也很常見,像一些企業(yè)為了減少一臺服務(wù)器的負載,往往將數(shù)據(jù)庫服務(wù)器轉(zhuǎn)向另一臺專門用來處理的數(shù)據(jù)的Web 服務(wù)服務(wù)器。
-
從負載均衡上提高Web服務(wù)器性能。
有的Web服務(wù)器的流量,簡直是海量的。沒有足夠的吞吐量,和網(wǎng)絡(luò)數(shù)據(jù)處理能力,一般的服務(wù)器絕對扛不住。用前面的方式也可以解決,只是這條主要強調(diào)負載均衡,解決網(wǎng)絡(luò)堵塞,可以提供服務(wù)就近原則,實現(xiàn)地理位置無關(guān)性,又那Google來說,你覺得Google慢過嗎?那是因為人家絕對處理過負載均衡了。可以用多臺服務(wù)器共同分擔(dān)一些繁重的計算和I/O操作,從而消除網(wǎng)絡(luò)瓶頸,提高吞吐量,提升性能。
-
Web交換機
有些網(wǎng)絡(luò)設(shè)備,屬于大型網(wǎng)絡(luò)才會用到。這些恐怕也只能把它歸結(jié)為硬件提升了。
-
緩存
計算機里常用到緩存,那么Web里其實也可以做到的。將經(jīng)常訪問和用到的數(shù)據(jù)緩存到客戶端本地,下次再訪問直接從本地獲取,不用頻繁從服務(wù)器請求,這有效的提高了訪問速度,也減少了頻繁訪問的流量。訪問Web服務(wù)器,無非是用戶請求、服務(wù)器響應(yīng),如果是一些重復(fù)的數(shù)據(jù),我們沒有必要每次操作都要去服務(wù)器端請求。緩存,這項技術(shù),跟架構(gòu)師和開發(fā)人員關(guān)系緊密,大家可以關(guān)注這一點。寫好或架構(gòu)好你的Web程序,這次處理的好的話,一個Web性能的提升是很大的。
后記:
以上是簡單的總結(jié),有不對或遺漏之處,歡迎跟帖指出。其實B/S模式下的系統(tǒng)比古老的C/S系統(tǒng)優(yōu)勢多多,加上現(xiàn)在B/S系統(tǒng)界面也不遜于C/S,所以如果能對Web服務(wù)器性能進行優(yōu)化,是很可觀的有價值的研究工作。
原文鏈接:http://www.zivsoft.com/show.asp?id=56
轉(zhuǎn)載請注明作者和出處
浙公網(wǎng)安備 33010602011771號