我在Spring服務器上使用HikariConfig作爲postgres數據庫的DataSource。 我應該設置maxPoolSize嗎? (默認值爲-1) 我可以使用多少池大小? 硬件是否存在任何依賴關係?HikariConfig和maxPoolSize
0
A
回答
0
該maxPoolSize
是一個指標,作爲您的應用程序的限制。你應該根據流量/應用的開銷/硬件來計算。您可以將限制設置爲10000個連接,這並不意味着它將按預期運行。實際上,這會受到硬件的影響,因爲如果您的計算機包含一個內核,100000個活動連接將只會延伸java應用程序和postgres,因爲操作系統將難以處理所有這些I/O調用。更糟糕的是,如果數據庫和Java應用程序位於同一網絡中的不同機器上,則還會產生網絡開銷。
究竟優化性能與idleTimeout
沿minimumIdle
屬性,因此,如果您已經計算出這些合適的值,那麼它應該永遠不會到達maxConnection
值以及原因造成的開銷等待鎖或資源匱乏。這裏唯一不好的地方是,如果你的應用程序設計錯誤(如果持續的連接時間長於需要,沒有正確提交事務,不使用批量作業進行長時間操作),那麼它會影響用戶體驗,但這是另一個問題。
我)
我應該設立maxPoolSize? (默認值是-1)
你應該把它作爲一個全球性的限制,這樣既您的應用程序和數據庫將是維護健康。默認值是不是-1,但10的更多細節here
II)
我是多麼池的大小可以使用嗎?
這取決於你的應用程序和基礎架構。你可以得到這些數字的唯一方法是通過集成測試來獲得最大的用例。 一些信息here關於Postgres的調整
III)
是否有與硬件的任何依賴性?
是有,兩個JVM和Postgres的服務器,也不僅是從硬件角度看,也可能會選擇什麼樣的OS
相關問題
- 1. HikariConfig ClassNotFoundException
- 2. C3P0 maxPoolSize耗盡
- 3. Grails MySQL MaxPoolSize
- 4. 什麼是默認的MaxPoolSize?
- 5. ASP.Net MaxPoolSize配置問題
- 6. c3p0 - 任何問題設置initialPoolSize = minPoolSize = maxPoolSize?
- 7. Tomcat使用c3p0數據源,maxPoolSize超過
- 8. Spring的ThreadPoolTaskExecutor中的corePoolSize和maxPoolSize之間的區別
- 9. 由於達到maxPoolSize而導致應用程序凍結
- 10. 如何在mongodb-php驅動程序版本1.2.0中使用maxPoolSize
- 11. 休眠C3P0掛起時,即使maxidletime設置達到maxpoolsize
- 12. 如何在Spring Boot中使用HikariCP並將兩個數據源與Flyway結合使用
- 13. HikariCP上的屬性文件
- 14. 如何在Spring引導應用程序中爲HikariCP使用JMX MBean?
- 15. 如何獲取HikariCP的活動連接數
- 16. HikariCP - 連接不可用
- 17. HikariCP檢測,即使所有的我的代碼有調用close方法
- 18. javaconfig中的Hibernate(「showSql」,「true」)不起作用
- 19. Mac上的彈簧數據。包含非拉丁字符參數的SQL查詢返回null
- 20. 如果數據庫連接數據無效,有沒有辦法將Hikari配置爲「快速失敗」?
- 21. 如何在Hibernate中使用HikariCP?
- 22. 如何創建新的連接並稍後在HikariCP中檢索它們
- 23. 從JDBC調用Postgresql存儲過程不起作用
- 24. 連接字符串中的MongoDB選項被解釋爲數據庫名稱
- 25. 我可以在Google App Engine上使用HikariCP
- 26. HikariCP準備了語句緩存
- 27. 通過tomcat上下文文件和spring context聲明數據源之間的區別
- 28. HikariCP懶惰與春天LazyConnectionDataSourceProxy
- 29. 春季啓動Hikari多個數據庫自動佈線失敗
- 30. 無法運行第二個數據源的Spring JUnit測試