應對網站高并發訪問的四個建議_建站經驗教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:播客生活:點擊高不高 標題很重要
      播客生存狀態 夜里11時,北京西城區。Kiwi回家扔下背包,全副武裝地出門了。在樓下一片混亂中,她調好相機,對準街區一通推拉搖移。 回來時在公車上看見路上塞得水泄不通,清障車停了滿大街。kiwi一下激動起來,難道四周道路塌方了?她趕緊用手機拍了一段,不過癮,回

      將硬盤讀寫分離、功能和展示分開、基本功能封狀成類及在設計架構時保證其擴容性,對大型網站建設至關重要。

      互聯網不斷擴大的規模、日益增長的用戶群以及Web2.0的興起,對網站建設提出了新的要求,它要具備高性能和高可擴展性,同時要支持高度并發的訪問。

      將硬盤讀寫分離

      假如網站硬盤的讀寫性能是整個網站性能提升的瓶頸,那么可考慮將硬盤的讀、寫功能分開,分別進行優化。在用來寫的硬盤上,假如我們提升硬盤的I/O,那么肯定會增加整個文件系統的故障率,因為它是所有驅動器的故障率之和。硬盤的I/O和故障率不能兼得。而用來讀的硬盤,則可用普通的服務器硬盤來降低開銷。

      均衡CPU和I/O消耗,不僅可以獲得更充分的服務器資源利用,還能支持暫時的過載,碰到突發事件、訪問流量劇增時,出現的結果是系統的整體性能下降,而不是立即崩潰。

      功能和展示必須分開

      在網站的后期運營中,肯定會有很多需求變更。假如每次變更都需要修改源代碼,那么,這個網站的開發可以說是失敗的。

      最重要的是功能和展示必須分開。核心功能使用腳本語言編寫,前臺展示使用帶非凡標簽的HTML,這樣不僅能加快開發速度,而且會為以后的維護和升級提供方便。對于前臺模板,一般還需要將頁面的頭、尾單獨提取出來,頁面的主體部分也按模塊或功能拆分,這樣能切實減輕服務器的壓力。

      封裝使開發事半功倍

      在功能塊層次,假如使用JSP,應將數據庫連接、會話治理等基本功能經封裝成類。假如使用PHP,則要在腳本代碼中顯式封裝,將每個功能塊封裝成一個函數、文件或類。

      在更高的層次,可以將網站分為表示層、邏輯層和持久層,分別進行封裝,做到當某一層架構發生變化時,不會影響到其他層。近來流行的MVC架構,將整個網站拆分成Model、View和Controller三個部分,而且有很多優秀的代碼框架可供選擇使用,像JSP的Structs、Spring,PHP的php.MVC及Studs等。使用現成的代碼框架,可以使網站開發事半功倍。

      擴容性應對突增流量

      一個大型網站,在設計架構的時候,必須考慮到以后可能的容量擴充。對于活動類網站來說,不定時的突增流量是巨大的。在網站主存儲服務器上,采用配置文件形式指定每一個存儲盤柜上存儲的數據文件的ID范圍。當前臺服務器需要讀取一個數據的時候,首先通過詢問主存儲服務器上的接口獲得該數據所在的盤柜及目錄地址,然后再去該盤柜讀取實際的數據文件。假如需要增加盤柜,只需要修改配置文件即可,前臺程序絲毫不受影響。

      分享:站點運營中的三六九法則
      從上一個命題《站點推廣到底是個什么東西》到現在已經半個多月過去了。最近幾天依然有不少朋友加我QQ來討論站點的運營推廣,于是我萌發了個念頭,寫篇系統的關于站點運營的文章。本來,題目依然想用站點運營到底是個什么東西,后來想想,算了。什么東西這個詞不太好。

      來源:模板無憂//所屬分類:建站經驗教程/更新時間:2007-11-27
      相關建站經驗教程