淺談如何提高網站的訪問速度

學識都 人氣:1.04W

隨着網絡技術的不斷髮展,建站技術已經不在侷限於一些大的網絡技術公司了,實際上個人已經架設自己的網站放到了互聯網上供人訪問。但是隨着訪問量的不斷增大,核心問題已經不是頁面的美觀和使用,而是網站的訪問速度了。網站訪問速度的快慢對網站的運營來說是很重要的。網站訪問速度太慢的話,有一部分瀏覽者就會離開網站而不會繼續等待網站顯示完。下面我就介紹一些提高網站訪問速度的常用辦法。

淺談如何提高網站的訪問速度

一、前臺頁面的優化:

簡化代碼和內容

網速慢也是影響網站訪問速度的原因之一。這就要求我們不要在網頁裏面放太多的東西,關於網頁的文字,我們可以不進行考慮,但是圖片和動畫等等,就是要考慮的內容了,尤其是動畫,對網站的訪問速度有很大影響,如果不是很必要,就不要放置太多的動畫。簡潔的頁面對訪問者是很友好的。

不把大部分內容放到表格

一些不恰當的網頁佈局會拖慢網站的訪問速度,比如將所有的網頁內容放到一個表格裏面(因爲這樣好排版)。其實這種方式是很不好的因爲表格只有在內容全部顯示完之後纔會顯示出來。現在頁面的製作基本都是適用div+css模式,這種模式節省代碼冗餘,能大大的提高網頁的瀏覽速度。

 二、數據庫的優化:

很多網站都是動態顯示數據,比如說:社區、sns類網站等這些不能完全生成html靜態頁面,隨着訪問量的增加,對於數據庫的要求就越來越高。當發現動態網站訪問緩慢,可以試着一下方法檢查並優化。

數據庫索引:

這個是重要中的重要,數據查詢的效率是非依賴於表的索引,如果沒有好的索引甚至沒建立索引,表的數量級達到一定程度都會大大影響數據庫的執行效率,所以必須檢查所以是非建立好。對於常用的查詢條件都要建立索引,並查看數據庫查詢分析器,查看那些語句緩慢,對應建立索引。

給數據表瘦身:

數據表的量達到一定程度,索引就不管用了。建議一個表不要超過千萬。現在一般適用的mysql數據庫,千萬以上的查詢效率都已經不佳了。可以採用分表分庫的方式,將一些久數據庫剝離,以減輕數據表容量上的壓力。

優化編寫程序中查詢的語句:

查詢數據庫的語句儘量使用最優的語句進行查詢,因爲有些複合查詢同樣會佔用大量的數據庫開銷,如果執行時間就了,加上網站的併發量大的話很容易導致數據死鎖,從而導致網站的癱瘓。可以使用存儲過程,這樣能很好的解決這個問題。

數據庫集羣和庫表散列:

大型網站都有複雜的應用,這些應用必須使用數據庫,那麼在面對大量訪問的時候,數據庫的瓶頸很快就能顯現出來,這時一臺數據庫將很快無法滿足應用,於是我們需要使用數據庫集羣或者庫表散列。

在數據庫集羣方面,很多數據庫都有自己的解決方案,Oracle、Sybase等都有很好的方案,常用的'MySQL提供的Master/Slave也是類似的方案,您使用了什麼樣的DB,就參考相應的解決方案來實施即可。

上面提到的數據庫集羣由於在架構、成本、擴張性方面都會受到所採用DB類型的限制,於是我們需要從應用程序的角度來考慮改善系統架構,庫表散列是常用並且最有效的解決方案。我們在應用程序中安裝業務和應用或者功能模塊將數據庫進行分離,不同的模塊對應不同的數據庫或者表,再按照一定的策略對某個頁面或者功能進行更小的數據庫散列,比如用戶表,按照用戶ID進行表散列,這樣就能夠低成本的提升系統的性能並且有很好的擴展性。sohu的論壇就是採用了這樣的架構,將論壇的用戶、設置、帖子等信息進行數據庫分離,然後對帖子、用戶按照板塊和ID進行散列數據庫和表,最終可以在配置文件中進行簡單的配置便能讓系統隨時增加一臺低成本的數據庫進來補充系統性能。

三、服務器配置

圖片服務器分離:

大家知道,對於Web服務器來說,不管是Apache、IIS還是其他容器,圖片是最消耗資源的,於是我們有必要將圖片與頁面進行分離,這是基本上大型網站都會採用的策略,他們都有獨立的圖片服務器,甚至很多臺圖片服務器。這樣的架構可以降低提供頁面訪問請求的服務器系統壓力,並且可以保證系統不會因爲圖片問題而崩潰,在應用服務器和圖片服務器上,可以進行不同的配置優化,比如apache在配置ContentType的時候可以儘量少支持,儘可能少的 LoadModule,保證更高的系統消耗和執行效率。

http壓縮:

HTTP 壓縮,HTTP 1.1 協議規範的一種建議,用來改進頁面加載時間,它要求在 Web 服務器上實現壓縮特性並在瀏覽器端實現解壓縮特性。雖然早在幾年前,流行的瀏覽器大都能接收壓縮數據,但 Web 服務器卻不能發送壓縮內容。服務器壓縮模式出現之後,情況得到了改善。適用了http壓縮的頁面大致能節省下2/3的瀏覽帶寬,受益是非常客觀的,強烈推薦適用。

四、總結:

隨着網民對網站訪問速度要求越來越高,網絡程序員已經不能無視網民這方面的訴求。現在隨着網絡技術的不斷髮展,也爲我們提供了越來越多的方法來優化網站。優化網站是我們程序員不得不經常面對的問題,希望讀者能從以上提供的方法中得到啓發。在不斷學習中進步。