? 一,HTML靜態
? 眾所周知,純靜態HTML頁面是效率更高,消耗更少的內容,因此,我們嘗試使網站上的頁面盡可能多地使用靜態頁面。
? 分離圖像服務器
? 眾所周知,對于Web服務器,無論是Apache,IIS還是其他容器,圖片都會占用更多資源,因此我們需要將圖片與頁面分開。 這基本上是大型網站將采用的策略。 它們都有獨立的甚至很多圖像服務器。 這種體系結構可以減輕對提供頁面訪問請求的服務器系統的壓力,并可以確保系統不會由于映像問題而崩潰。
? 在應用程序服務器和映像服務器上,可以執行不同的配置優化。 例如,在配置ContentType時,Apache可以支持盡可能少的LoadModules,以確保更高的系統消耗和執行效率。
? 三,數據庫集群,庫表哈希
? 大型網站具有復雜的應用程序。 這些應用程序必須使用數據庫。 面對大量訪問時,數據庫的瓶頸會很快出現。 目前,數據庫將無法快速滿足應用程序的需求,因此我們需要使用數據庫。 集群或庫表哈希。
? 在數據庫集群方面,許多數據庫都有自己的解決方案。? Oracle,Sybase等都有很好的解決方案。? MySQL提供的常用的Master / Slave也是類似的解決方案。 您使用哪種類型的數據庫,請參閱相應的解決方案。 上面提到的數據庫集群在架構,成本和可伸縮性方面受到所用DB類型的限制。 因此,我們需要從應用程序的角度考慮改進系統架構。 庫表哈希是一種常用且有效的解決方案。
? 我們在應用程序中安裝業務和應用程序或功能模塊以分離數據庫。 不同的模塊對應于不同的數據庫或表,然后根據某種策略(例如用戶表)執行頁面或函數的較小數據庫哈希。 根據用戶ID進行表哈希可以以低成本提高系統性能,并具有良好的可伸縮性。
? 搜狐論壇使用這種結構來分離數據庫中的用戶,設置和帖子數據庫,然后根據部分和ID為帖子和用戶散列數據庫和表。 最后,可以在配置文件中輕松完成該配置。該配置使系統可以隨時添加低成本數據庫以補充系統性能。
? 四,緩存
? 術語高速緩存已在技術術語中使用,并且高速緩存已在許多地方使用。 網站架構和網站開發中的緩存也非常重要。 這是兩個基本的緩存。 稍后將介紹高級和分布式緩存。
? 在架構中緩存。 任何熟悉Apache的人都可以知道Apache提供了自己的緩存模塊,或者您可以使用其他Squid模塊進行緩存。 這兩種方法都可以有效地改善Apache的訪問響應能力。
? 對于網站程序開發,Linux上提供的MemoryCache是常用的緩存接口,可以在Web開發中使用。 例如,使用Java開發時,可以調用MemoryCache進行緩存,通信和共享一些數據。 一些大型社區使用此功能。 建筑。 另外,在使用Web語言開發時,各種語言基本上都有自己的緩存模塊和方法,PHP有Pear的Cache模塊,Java更多,.net不是很熟悉,相信一定有。
? 五,鏡子
? 鏡像是大型網站通常用來提高性能和數據安全性的一種方法。 鏡像技術可以解決由于網絡訪問提供商和區域不同而導致的用戶訪問速度差異。 例如,ChinaNet和EduNet之間的差異促使許多網站進入了教育網絡中的鏡像站點,并定期或實時更新數據。 關于鏡像的技術細節,在這里我不會贅述,有許多專業的現成解決方案體系結構和產品可供選擇。 還有一些廉價的軟件實現想法,例如Linux上的rsync之類的工具。
? 六,負載均衡
? 負載平衡將是大型網站解決高端訪問和大量并發請求的高端解決方案。