PostgreSQL串連問題

來源:互聯網
上載者:User

近日用PostgreSQL和Npgsql寫過程式,由於客戶數量有300多個,所以有的就串連不上了。

調整了max_connection為500,問題是解決了,可是記憶體使用量也是猛漲。差了點資料,估計可通過兩個方面解決一下問題:

PostgreSQL的串連池,如pgbouncer;

Npgsql串連參數:Pooling、MinPoolSize、MaxPoolSize、ConnectionLifeTime等參數。具體可參考Npgsql的UserManual。

解決方案:

1、在連接字串中加入Pooling=False;

這樣用戶端Npgsql不把串連保留在Pool中,每次Close都真真正正的把這個串連關掉,這樣PostgreSQL伺服器上

相關的postgres.exe進程也被結束,如果並行程度不是非常高,max_connection為100足夠了。

這樣做完的好處是伺服器上postgres.exe進程少了,記憶體佔用也少了。缺點是每次串連伺服器都要重新建立

postgres.exe進程,浪費一些CPU資源。根據項目的特點和伺服器的配置選擇是否要用這個選項,如果記憶體是瓶頸

2、調整了一下ConnectionLifeTime,好像沒什麼作用。

 

3、調用ClearAllPools();    ClearPool();等函數及時清理不用的串連。

4、在Windows平台下的PostgreSQL的一些配套軟體pgpool、pgbouncer等目前不能用,如果在Unix等平台上倒是

可以用它們調調效能。

 

 

http://www.powerpostgresql.com/PerfList

http://npgsql.projects.postgresql.org/docs/manual/UserManual.html 

http://www.revsys.com/writings/postgresql-performance.html

http://blog.sina.com.cn/s/blog_4e808acf0100afrt.html

http://www.kakapo.cn/blog/read.php?142 

相關文章

聯繫我們

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