-
1 # 使用者6930720777900
-
2 # 番茄style
提供幾種供你思路:
1、網站頁面靜態化。靜態化的頁面為.html(.htm等)不需要web伺服器重新載入項解析,只需要生成一次,以後每次都直接下載到客戶端,效率高很多。
2、將網站的web伺服器、資料庫伺服器、圖片和檔案伺服器分開。透過將伺服器專業化分工,以提高網站訪問速度。因為圖片和檔案在下載的時候無論是IIS、Apache等伺服器都會有很大壓力。
3、設定專門的資料快取伺服器。將大量資料放到快取資料區,在訪問量少得時候存入資料,減少連線直接操作資料庫的開銷。
4、資料庫叢集、庫表雜湊。大型網站在面對大量訪問的時候,會顯現資料庫的瓶頸,這時一臺資料庫將很快無法滿足應用,於是我們需要使用資料庫叢集或者庫表雜湊來分散壓力。
5、映象。映象是大型網站常採用的提高效能和資料安全性的方式,映象的技術可以解決不同網路接入商和地域帶來的使用者訪問速度差異,比如ChinaNet和EduNet之間的差異就促使了很多網站在教育網內搭建映象站點,資料進行定時更新或者實時更新。
6、負載均衡。負載均衡將是大型網站解決高負荷訪問和大量併發請求採用的高階解決辦法。
7、最新:CDN加速技術。什麼是CDN?CDN的全稱是內容分發網路。其目的是透過在現有的Internet中增加一層新的網路架構,將網站的內容釋出到最接近使用者的網路“邊緣”,使使用者可以就近取得所需的內容,提高使用者訪問網站的響應速度。CDN有別於映象,因為它比映象更智慧,或者可以做這樣一個比喻:CDN=更智慧的映象+快取+流量導流。
-
3 # 科技黑工坊
優雅降級是指網站為了應付突然爆發的訪問高峰,主動關閉部分功能,釋放部分系統資源,保證網站核心功能正常訪問的一個手段。淘寶每年一次的雙十一促銷活動就屬於突然爆發的非常規訪問高峰,淘寶的工程師每年都會關閉一部分非核心功能,如評價、確認收貨等功能,保證交易功能的正常進行。
網站在流動計算基礎之上實現自動優雅降級,是網站柔性架構的理想狀態:監控系統實時監控所有伺服器的執行狀況,根據監控引數判斷應用訪問負載情況,如果發現部分應用負載過高,而部分應用負載過低,就會適當解除安裝低負載應用部分伺服器,重新安裝啟動部分高負載應用,使應用負載總體均衡,如果所有應用負載都很高,而且負載壓力還在繼續增加,就會自動關閉部分非重要功能,保證核心功能正常執行。
回覆列表
一個小型的網站,可以使用最簡單的html靜態頁面就實現了,配合一些圖片達到美化效果,所有的頁面均存放在一個目錄下,這樣的網站對系統架構、效能的要求都很簡單。隨著網際網路業務的不斷豐富,網站相關的技術經過這些年的發展,已經細分到很細的方方面面,尤其對於大型網站來說,所採用的技術更是涉及面非常廣,從硬體到軟體、程式語言、資料庫、WebServer、防火牆等各個領域都有了很高的要求,已經不是原來簡單的html靜態網站所能比擬的。 大型網站,比如入口網站,在面對大量使用者訪問、高併發請求方面,基本的解決方案集中在這樣幾個環節:使用高效能的伺服器、高效能的資料庫、高效率的程式語言、還有高效能的Web容器。這幾個解決思路在一定程度上意味著更大的投入。
1、HTML靜態化 其實大家都知道,效率最高、消耗最小的就是純靜態化的html頁面,所以我們儘可能使我們的網站上的頁面採用靜態頁面來實現,這個最簡單的方法其實也是最有效的方法。但是對於大量內容並且頻繁更新的網站,我們無法全部手動去挨個實現,於是出現了我們常見的資訊釋出系統CMS,像我們常訪問的各個門戶站點的新聞頻道,甚至他們的其他頻道,都是透過資訊釋出系統來管理和實現的,資訊釋出系統可以實現最簡單的資訊錄入自動生成靜態頁面,還能具備頻道管理、許可權管理、自動抓取等功能,對於一個大型網站來說,擁有一套高效、可管理的CMS是必不可少的。 除了門戶和資訊釋出型別的網站,對於互動性要求很高的社群型別網站來說,儘可能的靜態化也是提高效能的必要手段,將社群內的帖子、文章進行實時的靜態化、有更新的時候再重新靜態化也是大量使用的策略,像Mop的大雜燴就是使用了這樣的策略,網易社群等也是如此。 同時,html靜態化也是某些快取策略使用的手段,對於系統中頻繁使用資料庫查詢但是內容更新很小的應用,可以考慮使用html靜態化來實現。比如論壇中論壇的公用設定資訊,這些資訊目前的主流論壇都可以進行後臺管理並且儲存在資料庫中,這些資訊其實大量被前臺程式呼叫,但是更新頻率很小,可以考慮將這部分內容進行後臺更新的時候進行靜態化,這樣避免了大量的資料庫訪問請求。
2、圖片伺服器分離 大家知道,對於Web伺服器來說,不管是Apache、IIS還是其他容器,圖片是最消耗資源的,於是我們有必要將圖片與頁面進行分離,這是基本上大型網站都會採用的策略,他們都有獨立的、甚至很多臺的圖片伺服器。這樣的架構可以降低提供頁面訪問請求的伺服器系統壓力,並且可以保證系統不會因為圖片問題而崩潰。 在應用伺服器和圖片伺服器上,可以進行不同的配置最佳化,比如apache在配置ContentType的時候可以儘量少支援、儘可能少的LoadModule,保證更高的系統消耗和執行效率。
3、資料庫叢集、庫表雜湊 大型網站都有複雜的應用,這些應用必須使用資料庫,那麼在面對大量訪問的時候,資料庫的瓶頸很快就能顯現出來,這時一臺資料庫將很快無法滿足應用,於是我們需要使用資料庫叢集或者庫表雜湊。 在資料庫叢集方面,很多資料庫都有自己的解決方案,Oracle、Sybase等都有很好的方案,常用的MySQL提供的Master/Slave也是類似的方案,您使用了什麼樣的DB,就參考相應的解決方案來實施即可。 上面提到的資料庫叢集由於在架構、成本、擴張性方面都會受到所採用DB型別的限制,於是我們需要從應用程式的角度來考慮改善系統架構,庫表