網站記憶體資源需求淺析

來源:互聯網
上載者:User

很多時候,記憶體不夠,網站速度就很慢。其實記憶體處理速度沒有什麼關係,記憶體也不能給網站提速。記憶體能做的事情,就是規避一些造成網站訪問慢的環節。CPU負責運算、執行讀寫操作等,記憶體是用來存放運行時程式以及相關資源檔的。也就是說,記憶體的實質作用就是非常快的硬碟,可以被CPU快速讀寫,但是斷電之後無法儲存資料。至於說網站需要多大的記憶體,和主機的種類、架構、建站軟體、網站內容多少等等都有關係。

假設有一台獨立的伺服器,1G的記憶體,那麼作業系統要消耗一部分,http以及一些服務又會消耗一點,網站程式本身在執行時也需要被獨到記憶體中去,這樣真正留給網頁的可能要損失幾百兆。這其實還算好的情況,有很多共用的空間,記憶體本身不大,但是幾百個人在用,記憶體耗盡之後,程式以及資源運行時無法載入,或者需要排隊,也可能被迫使用頁面緩衝(windows下這麼說,linux以及其他類unix系統下對應swap),網站就會變的很慢。而VPS、雲主機,本身是虛擬出來的,這個虛擬過程會直接損耗CPU以及記憶體資源,記憶體會更加緊張。

像Apache這樣的伺服器,可能要載入很多模組來實現一些特殊功能,比如URL重寫。PHP程式本身也要消耗一些記憶體,一般我會將其記憶體消耗設定在一個不大的值,比如128M,96M或者64M。除此之外,有些網站為了避免CPU頻繁訪問、硬碟頻繁讀寫,訪問速度受到拖累,往往需要記憶體緩衝(memcache),將有些頻繁訪問而沒有改動的資源儲存到記憶體中,這就需要更大的記憶體。

記憶體只是眾多指標中的一個,必須和其他指標配合,才能定位需求。比如你的CPU資源豐富,硬碟讀寫速度也快,你可以適當減少記憶體需求,比如果你的CPU資源緊張,硬碟讀寫又慢,那麼可能就要需要更多的記憶體。當然,站長們最終參考的最重要的標準可能是價格。

那麼一個網站究竟需要多少記憶體呢?以v9zz.com為例,我的網站放在雲主機上,AMD Opteron 6172,給我分配了一個CPU核心,頻率是2.1G,記憶體1G,頻寬是2M。我的網站主要是發一些文章,文字為主,有的文章會配圖,這樣的情境下,我的CPU資源顯得過剩,大部分時候是閑置的。如果用這樣的配置放一個Discuz論壇,能夠支撐不小的=網站,但是我用的建站軟體是Drupal,什麼都緩衝,時間久了就好耗光記憶體,導致訪問太慢,不得不設定指令碼定時清理。對於雲主機以及VPS使用者而言,建議購買1G記憶體或者以上配置,虛擬出來的系統本身就消耗大量的記憶體,如果硬體設定再低,網站就很難流暢運行。現在記憶體資源並不昂貴,與其花時間去研究很深奧的最佳化技巧,不如花點錢擺平,網站做大之後,有興趣再研究這些。

------------------------

轉載請註明:v9zz原創

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.