大型網站架構演進的五大階段盤點
大型網站都是從小型網站發展起來的,網站架構也是一樣,網站剛開始搭建處于雛形階段,訪問量小,一臺服務器完全夠用,也是大部分企業級應用的選擇。應用程序,數據庫,文件都部署在一臺服務器的,通常服務器選用Linux,應用程序選用PHP,然后部署在Apache 上,數據庫使用MySQL,匯集各種開源軟件以及一架廉價的服務器就可以進行開發。
這個時候由于網站具備了一定的特色,吸引了部分人訪問,逐漸你發現系統的壓力越來越高,響應速度越來越慢,而這 個時候比較明顯的是數據庫和應用互相影響,應用出問題了,數據庫也很容易出現問題,而數據庫出問題的時候,應用也容易出問題,于是進入了第一步演變階段: 應用服務和數據分離,變成了兩臺機器,這個時候技術上沒有什么新的要求,但你發現確實起到效果了,系統又恢復到以前的響應速度了,并且支撐住了更 高的流量,并且不會因為數據庫和應用形成互相的影響。
好景不長,隨著訪問的人越來越多,你發現響應速度又開始變慢了,查找原因,發現是訪問數據庫的操作太多,所以響應變慢,但數據庫連 接又不能開太多,否則數據庫機器壓力會很高,于是進入了第二步演變階段: 使用緩存改善網站性能, 網站的緩存分為兩種: 緩存在本地服務器上的本地緩存,緩存在遠程服務器上的遠程緩存,本地緩存的訪問速度要比遠程緩存的更快。但是受應用服務器的內存限制,往往會存在本地緩存和應用程序競爭內存的情況,這種情況在遠程服務器上就不會存在,遠程分布式緩存可以使用集群的方式,部署大內存的服務器使用專門的緩存服務器,理論上可以做到不受內存限制的緩存服務。使用緩存后,有效的改善了數據庫訪問的壓力,整體系統的速度確實是提升了,
但是隨著訪問量的增加,發現系統又開始變的有些慢了,于是進入了第三步演變階段:增加頁面片段緩存,在采用 片段緩存再次提高了系統的緩存效果后,系統的壓力確實進一步降低了,但同樣,隨著訪問量的增加,系統還是開始變慢,經過查找,可能會發現系 統中存在一些重復獲取數據信息的地方,像獲取用戶信息等,這個時候進入了第四步演變階段:數據緩存,于是將這些數據緩存到本地內存,改變完畢后,完全符合預期,系統的響應速度又恢復了,數據庫的壓力也再度降低了不少。
發現隨著系統訪問量的再度增加,webserver 機器的壓力在高峰期會上升到比較高,這個時候進入了第五步演變階段:開始考慮增加一臺服務器,這也是為了同時解決可用性的問題,避免單臺的服務器關機的話就沒法使用了,在做了這些考慮后,決定增加一臺服務器,系統終于是又恢復到了以往的速度。
- 上一篇:網頁設計的一般流程
- 下一篇:企業網站建設的基本步驟都有哪些?你注意到了嗎?
相關內容推薦
最新文章
更多>>0532-88983785 / 0532-68613670
我要定制網站