PostgreSQL幾個常用的記憶體參數

來源:互聯網
上載者:User
PG的設定檔是資料庫目錄下的postgresql.conf檔案,8.0以後的版本可支援K,M,G這樣的參數,只要修改相應參數後重新啟動PG服務就OK了。

    shared_buffers:這是最重要的參數,postgresql通過shared_buffers和核心和磁碟打交道,因此應該盡量大,讓更多的資料緩衝在shared_buffers中。通常設定為實際RAM的10%是合理的,比如50000(400M)

    work_mem: 在pgsql 8.0之前叫做sort_mem。postgresql在執行排序操作時,會根據work_mem的大小決定是否將一個大的結果集拆分為幾個小的和 work_mem查不多大小的臨時檔案。顯然拆分的結果是降低了排序的速度。因此增加work_mem有助於提高排序的速度。通常設定為實際RAM的2% -4%,根據需要排序結果集的大小而定,比如81920(80M)

    effective_cache_size:是postgresql能夠使用的最大緩衝,這個數字對於獨立的pgsql伺服器而言應該足夠大,比如4G的記憶體,可以設定為3.5G(437500)

    maintence_work_mem:這裡定義的記憶體只是在CREATE INDEX, VACUUM等時用到,因此用到的頻率不高,但是往往這些指令消耗比較多的資源,因此應該儘快讓這些指令快速執行完畢:給maintence_work_mem大的記憶體,比如512M(524288)

    max_connections: 通常,max_connections的目的是防止max_connections * work_mem超出了實際記憶體大小。比如,如果將work_mem設定為實際記憶體的2%大小,則在極端情況下,如果有50個查詢都有排序要求,而且都使 用2%的記憶體,則會導致swap的產生,系統效能就會大大降低。當然,如果有4G的記憶體,同時出現50個如此大的查詢的幾率應該是很小的。不過,要清楚 max_connections和work_mem的關係。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.