我們在本地使用 Postgresql 和非常大的查詢(連接、子請求和遞回)。在 Windows 上,請求會在 4 到 8 秒內執行,具體取決于測驗的機器。這個時間是可以接受的。但是在 linux 機器上,對于相同的查詢和相同的資料集,我們最少需要 3 分鐘 30 分鐘。我們不明白為什么更改作業系統會大大降低性能。在linux 和windows上有請求,解釋(分析,緩沖區)。
該請求是由我們的工具生成的,因此我們不打算更正此請求。我們可以為資料庫安裝 Windows Server,但我們希望您能幫助我們找出原因。
我們已經測驗了以下線索但沒有成功:
- 硬體差異(所有機器具有相同的 RAM、相似的 SSD 和處理器)
- 磁盤的健康狀況和機器的 RAM
- postgresql 實體的所有配置和版本都相同
- 已經進行了維護操作(真空和分析)。
- 跨實體的資料相同(使用 pgAdmin 匯出和匯入)
你知道這可能來自哪里嗎?為什么 postgresql 會根據作業系統生成執行時間完全不同的計劃?
uj5u.com熱心網友回復:
在 Linux 上,基本上所有(217006.663 毫秒中的 204015.385 毫秒)時間都花在 JIT(即時編譯)上,徒勞地試圖讓事情變得更快。只需關閉 jit,根據我的經驗,它很少有用。
在 Windows 上,您可能有幸從一開始就不支持 JIT。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/471380.html
標籤:linux 视窗 PostgreSQL
上一篇:IP地址檢索是否授權用戶隱私?
