Web伺服器效能改進小結

2021-05-12 12:56:59 字數 1167 閱讀 8472

摘要:

早些年從程式設計師開始,就接觸的是web開發,對於web伺服器有著深厚的感情。但一些年後,不再寫程式的我,開始玩玩架構,可是發現架構出來的產品對web伺服器效能有著貪婪的需求,好比計算機對記憶體永遠不滿足一樣。總希望web伺服器是乙個超級無比強大的巨人,可是這種希望就是一種貪婪,所以整理一下,回頭對web伺服器效能改進做一些小結,希望用以下方式來提高web服務效能。

正文:

提高web伺服器本身的配置。

這是最簡單最直接的效能提公升,也是最傻瓜式的硬體公升級,來加以提公升web伺服器的的效能。

提高網路寬頻。

既然我們講的是web伺服器,不可避免的便是網路資料傳輸。光靠上面一提公升cpu、記憶體等還是不夠的。高速寬頻對web伺服器效能提公升也很重要。

web伺服器並行工作。

分布式越來越成為現代軟體應用裡很好的一種架構方式。像我們熟悉的雲計算,其實本質也就是一種分布式計算。因此高負載的web站點,用多個web伺服器分布式結構,對效能的提公升有很大的幫助。想讓web伺服器並行工作,一般分兩種,一種是擺在不同地域的web伺服器內容完全相同,根據訪問者不同ip,來決定該訪問者去向哪個伺服器。貌似google有點這意思,全球有不少google的伺服器。另外一種當然是內容不同的,其實也就是功能不同,角色不同,比如一台提供動態頁面,一台提供靜態頁面,一台專門處理資料等等,這種也很常見,像一些企業為了減少一台伺服器的負載,往往將資料庫伺服器轉向另一台專門用來處理的資料的web 服務伺服器。

從負載均衡上提高web伺服器效能。

有的web伺服器的流量,簡直是海量的。沒有足夠的吞吐量,和網路資料處理能力,一般的伺服器絕對扛不住。用前面的方式也可以解決,只是這條主要強調負載均衡,解決網路堵塞,可以提供服務就近原則,實現地理位置無關性,又那google來說,你覺得google慢過嗎?那是因為人家絕對處理過負載均衡了。可以用多台伺服器共同分擔一些繁重的計算和i/o操作,從而消除網路瓶頸,提高吞吐量,提公升效能。

web交換機

有些網路裝置,屬於大型網路才會用到。這些恐怕也只能把它歸結為硬體提公升了。

快取

後記:

以上是簡單的總結,有不對或遺漏之處,歡迎跟帖指出。其實b/s模式下的系統比古老的c/s系統優勢多多,加上現在b/s系統介面也不遜於c/s,所以如果能對web伺服器效能進行優化,是很可觀的有價值的研究工作。

Web伺服器效能改進小結

摘要 早些年從程式設計師開始,就接觸的是web開發,對於web伺服器有著深厚的感情。但一些年後,不再寫程式的我,開始玩玩架構,可是發現架構出來的產品對web伺服器效能有著貪婪的需求,好比計算機對記憶體永遠不滿足一樣。總希望web伺服器是乙個超級無比強大的巨人,可是這種希望就是一種貪婪,所以整理一下,...

專案 高效能web伺服器

reacotr模式本質上來講,他要求主線程 i o處理單元 只負責監聽檔案描述符上是否有事件發生,有的話就立即將該事件通知工作執行緒 邏輯單元 除此之外,主線城不做任何其他實質性的工作。讀寫資料,接受新的連線,以及處理客戶請求均在工作執行緒中完成。使用同步i o模型 epoll wait為例 實現的...

OpenResty安裝(高效能web伺服器)

openresty 參考資料 官方 github openresty最佳實踐 安裝openresty 預設安裝路徑如下 usr local openresty openresty,也被稱為 ngx openresty 是乙個基於 nginx 的核心web應用程式伺服器,它包含了大量的第三方的ngin...