我們試圖在我們的應用程序中評估PostgreSQL數據庫作爲Oracle數據庫的替代品。我們使用PostgreSQL 9.5,它安裝在具有128 GB內存,32個CPU內核和SSD存儲的Linux機器上。連接池和分佈式事務由JBoss 7應用程序服務器管理,SQL查詢由Hibernate 4生成/執行。大多數表擁有數千萬行,其中一行具有數億行。總共大約3,000個數據庫連接(它們由應用程序服務器彙集)是活動的並且同時使用。我們修改了一些查詢,創建了緩慢的索引,根據文檔等調整了數據庫和操作系統設置。但是,吞吐量要慢幾倍,最終DB響應時間增加10-20倍。數千個連接和分佈式事務的PostgreSQL數據庫性能問題
我做了一些谷歌上搜索,我找不到任何關於使用PostgreSQL數據庫以同樣的方式別人(AB)的信息:
- 使用使用這種大量的活動數據庫連接
- 十萬分佈式事務(預備事務)
- 存儲數十億列在一個表中
Oracle沒有處理更高的負載任何問題。我希望分享你的經驗,建議,鏈接等
感謝
Zalando使用Postgres,他們同時爲很多客戶提供服務。所以它不像引擎笨重我可以告訴你:)對於處理大型表分區派上用場。這個問題相當廣泛,但我猜你不會得到你期望的答案。 –
感謝您的評論。 但基於他們的GIT repo(https://github.com/zalando/patroni/search?utf8=%E2%9C%93&q=prepared),他們不使用分佈式事務:max_prepared_transactions = 0 默認值對於max_connections是100.我的確知道生產值可能會有所不同。 –
你有你自己的交易經理嗎?您是否正在使用分佈式事務來允許跨羣集中不同數據庫的全局事務?你是否考慮過補償? –