高流量WordPress網站小提示

你覺得WordPress能承受高流量嗎?有沒有想過要創建一個具有高訪問量的網站,或者撰寫大量的文章?想像一下你的文章被刊登到Slashdot、Digg或者其他能帶來很多訪問量的網站時會是什麼情況。大家都對WordPress是否能承受高流量感到好奇,那麼WordPress究竟能不能支持流量很高的網站呢?

答案是肯定的,但也是有條件的。如果你決定以WordPress作為自己的信息發布平台並且希望吸引很高的訪問量,你需要考慮並理解很多問題。對高訪問量的網站來說,在共享主機上運行WordPress網站似乎不太現實。

選擇WordPress作為你的高流量網站平台時,需要先檢查下面一些配置以確保網站能帶來預期中的訪問量:網站伺服器和軟體,WordPress將要靠它們運行,所以它們需要有足夠的能力來支持訪問量。

目錄 [隱藏]

  • 1 硬體限制
  • 2 處理器限制
  • 3 MySQL
  • 4 網路服務
  • 5 連網限制
  • 6 在使用中的網路傳輸速度
  • 7 數據傳輸過量
  • 8 基準特別要求
  • 9 高流量解決方案
  • 9.1 WP-Cache
  • 9.2 wp-super-cache
  • 10 關閉/限制WordPress插件及圖像
  • 11 相關條目
  • 硬體限制

    「WordPress能承受博客的高流量嗎?」這其實是個錯誤的問題。實際上,所有的博客平台——或者說所有的web程序——所能支持的流量都取決於運行平台的硬體。

    阻礙你的網站支持高流量的兩個客觀原因是:

  • 處理器限制
  • 網路限制
  • 處理器限制

    要能夠讓網站支持高流量,就不能讓流量僅僅集中在伺服器內部資源上。處理器要具備強大的性能和充足的存儲空間,這是基本要求。

    使用WordPress時可能有其他更重要的要求,但處理器是WordPress的默認要求。

    MySQL

    和大多數博客以及web應用程序一樣,WordPress也使用MySQL來存儲數據以輸出信息。WordPress為讀取或寫入數據對MySQL所做的每次查詢都增加了伺服器的負擔。

    WordPress一直在優化以減少不必要的功能執行;但在流量較高的情況下,大量的資料庫同步連接會導致伺服器過載。這樣的話,伺服器連接的不完整性會導致訪問者瀏覽器反應為典型的「連接超時」。

    大多數情況下,通過調整MySQL的設置或為負擔過重的伺服器提供更多內存以及處理器能量,我們可以提高MySQL的連接率。

    網路服務

    WordPress可以在多種不同的web伺服器平台上運行。 Apache和 Linux是運行WordPress的最佳選擇,不過只要是支持PHP和 MySQL 的伺服器都可以運行WordPress。

    為了為WordPress創建一個堅固的運行環境,請將你的主機功能升級到最新最穩定的版本。

    對PHP運行方式和翻譯WordPress代碼的語言的選擇也會影響到伺服器的性能。在CGI模式下,伺服器會為訪問者所請求的每個PHP文件創建一個PHP程序的新實例。在共享模塊或ISAPI(互聯網服務應用程序介面)模式下,每個PHP都使用單獨的庫實例。這兩種方式都各有優劣——在作選擇時,請記住流量對伺服器的要求。

    連網限制

    收到伺服器的互聯網連接速度影響,伺服器未必能以你預期的速度載入頁面。

    伺服器的網路提供商(虛擬主機服務商或互聯網服務提供商)通過乙太網適配器將用戶的伺服器連接到自己的內部網路。適配器能夠提供各種標準的最大網路連接速度,包括10Mb/s, 100Mb/s, 以及1Gb/s。用戶的伺服器的傳輸文件速度不能超過適配器所提供的網路連接速度。此外,一些其他因素也能夠影響文件的傳輸速度,從而影響到伺服器的連網速度。

    首先要注意,這些數字(尤其是伺服器的網路適配器速度)大多是理論性的。從實際而言,伺服器傳輸文件時不可能完全利用到適配器所提供的速率,這是因為伺服器不僅要傳輸實際文件,同時還要發送並接收互聯網用以獲取用戶網站訪問者數據的路徑信息。由於這種「網路消耗」,實際傳輸文件只能佔用小部分帶寬。

    其次,用戶伺服器有可能連接到網路服務商的不同設備中,相較於對伺服器網路適配器的限制,這樣更加限制了傳輸速度。這是因為,網路服務商要將原本就有限的帶寬從本地分散給眾多的伺服器,所有的帶寬都被共享了,傳輸速度自然就減慢了。

    某些網路服務商允許用戶進行信息「爆炸」——暫時超出預設的傳輸速度限制——但僅限於網站內容被獲取次數過多時。網路提供商的硬體經過特別設計,可以判斷網站是否有這種需要。有些網路服務商會為這項服務收取額外費用,有些服務商甚至不提供這種服務。

    在使用中的網路傳輸速度

    通過下面的計算題,我們可以了解到連接帶寬對高流量網站的重要性。

    首先假定你的網站一天有10萬次點擊量。為方便計算,我們假設單獨的一次數據傳輸(無論是單個文件或是整個頁面或是頁面的支持文件)就是一次點擊。平均計算下來,一天10萬次的點擊率,也就是每秒1.16次點擊率。

    然後假設平均每次點擊生成的HTML、CSS、下載文件等數據傳輸量為160KB。那麼網站每秒鐘需要傳輸數據190KB(每次點擊生成160KB傳輸量*每秒1.16次點擊)。190KB每秒的傳輸量相當於1.5Mb的持續傳輸量。(注意:KB表示千位元組,MB表示兆比特,大多數網路速度都以每秒兆比特來計算,而文件的大小則以千位元組來計算。)很多網路服務商提供的傳輸速率都接近於這個數字,有的略高,有的略低。但只有每個用戶都能正常訪問時,才能保持住這樣的傳輸速度。

    大多數情況下會有不同訪問者在同一時間段內訪問你的網站,也有可能在某一時段內沒有任何人來訪。假設某一時刻10個人同時點擊一個網站,並且這樣的點擊率長期持續下去——對高流量網站來說這並不少見——那麼網站必需要具備15Mb/s的網路連接速度才能保持並發連接。

    如果網路適配器的最大理論速度僅有10Mb/s,那麼這時網站對流量的要求超過了適配器具備的連接速度,WordPress不會有任何反應。

    即使每天點擊率不足10萬次也會產生類似問題。這樣的連接速度在一小時內只能承受3.6萬次點擊。如果訪問者集中在一天中的某一個時間段內訪問網站(或者自動垃圾評論腳本在網站上發布垃圾評論時,試圖多次同時訪問網站系統),就會造成很多人無法訪問。

    100Mb/s的連網速度至多可以處理70個並發連接,但網路服務商不會在你沒有付費的情況下提供這樣的帶寬。況且目前的共享主機也不可能達到這種速度。

    數據傳輸過量

    託管視頻、播客或者照片集等大容量文件,很容易造成數據傳輸過量。託管服務通常只提供服務範圍內的固定數量傳輸量。用戶需要為超出固定數量的數據傳輸支付一定費用。根據主機商的規定,費用一般高達一美元每兆比特(MB)。

    根據這個收費標準,如果你達到規定傳輸量後要下載一個20MB的文件,你需要在託管費用外再支付20美元!

    通常情況下,固定傳輸量越高,託管服務的收費就越高。一些託管服務也提供沒有傳輸量限制的服務套餐供用戶選擇,費用雖然很高,但對高流量網站來說,這比超過傳輸量之後需要支付的費用略為划算。

    基準特別要求

    本部分用以顯示高壓載入環境下典型伺服器設置的容量。將某個特定託管服務的配置與其相關基準進行比較,這樣或許能讓你對伺服器容量有更好的了解。注意:你所選擇的伺服器的基準少不應該是下面這樣的:仍然沒有基準

    高流量解決方案

    WordPress只在適當的環境中才能保持最佳性能。如果發現自己的WordPress網站由於流量過高而影響運行,可以試試下面幾種解決方法。

    WP-Cache

    WP-Cache是一款WordPress插件,它通過對沒有發生變化的頁面輸出進行緩存,減少了對資料庫的調用請求。訪問者請求WordPress網站上的某個頁面時,WP-Cache以所要求頁面的靜態存儲版本形式展示在訪問者面前。如果所請求的頁面不存在,該請求會被存儲在緩存中。如果由於編輯以及發表評論等原因導致頁面發生變化,頁面的緩存會被破壞。

    WP-Cache不能減少對非WordPress生成的頁面的載入。同樣,如果希望緩存頁面中的某些內容仍然保持動態,那麼你需要在頁面上進行一些改動以激活頁面內容。

    wp-super-cache

    wp-super-cache是一款新的WordPress靜態緩存插件。WP Super Cache可以生成HTML文件並直接用於Apache,無需處理相對繁多的PHP腳本。這款插件可以顯著加快WordPress博客的載入速度。

    WP Super Cache是WP-Cache 2(由Ricrdo Galli Granada開發)的分支。WP-Cache 2緩存了WordPress博客中的頁面並能在不訪問資料庫的情況下發送頁面。但這樣就意味著需要載入PHP來處理緩存文件。

    WP Super Cache解決了這個問題。即使不調用任何PHP也可以調用安裝WP Super Cache時所生成的html文件。這樣網站就幾乎可以用處理緩存文件的速度來處理圖形文件了。如果你的網站在爭取較高的訪問量,或者網站出現在Digg、Slashdot或其他熱門網站上,WP Super Cache會是你的不二選擇。

    關閉/限制WordPress插件及圖像

    WordPress博客訪問量增加後,博客的代碼和設計元素也會增加。

    例如,假設博客首頁需要調用八個圖形來顯示其「外觀」。此外還要調用不同的WordPress模板文件,至少頁眉、側邊欄、頁腳以及日誌內容區域這四個調用也是必須的。那麼,每有一百位訪問者,這12個「調用」就需要被載入1200次,而有1000位訪問者,載入次數就是12000次。這不僅增加了你的帶寬也加重了伺服器的負擔。

    WordPress插件也是WordPress主題需要「調用」的文件。這些插件會查詢數據以生成相關信息。插件越多,對資料庫的查詢次數就越多。

    隨著訪問者的增加,需要調用的文件和資料庫查詢也會越來越多,對網站流量的要求就升高了。

    暫時關閉一些WordPress插件可以幫助減少需要調用的文件數和資料庫查詢次數。

    檢查一下你的WordPress插件列表,關閉那些可以暫時不用的插件。

    儘可能減少需要調用的文件數和資料庫查詢次數。網站流量稍有下降時再重新激活這些插件。

    虛擬主機服務雖然這個問題的確令人頭疼,但你可能需要考慮換一個更強大的伺服器了。

    以下是針對你所遇到的問題而設計的高流量網站簡單升級步驟:

  • 共享主機可以升級為專用虛擬主機
  • 專用虛擬主機升級為專用主機
  • 專用主機升級為高效專用主機
  • 如果高效專用主機也遇到問題,你就該考慮向主機服務商申請負多負載均衡伺服器了
  • 無論怎樣,伺服器的表現都是與其網路服務提供商掛鉤的。如果服務商提供的帶寬不能滿足你的需要,你可以與服務商商量增加帶寬,或者尋找能夠滿足你的帶寬要求的服務商。

    推薦閱讀:

    在萬網買的.xyz域名如何操作可跳轉到個人的新浪博客呢?
    類似http://nilssvensson.com/這類簡潔的攝影師個人網站如何搭建?是基於Wordpress嗎?
    Mac下如何安裝Wordpress?
    dedecms,WordPress這種開源的系統可以修改成自己的系統嗎?
    有哪些實用的WordPress 插件值得推薦?

    TAG:網站 | WordPress | Word | 流量 | Press |