Postgresql
pg_stat_statements 的性能影響是什麼?
我
pg_stat_statements
用來在我的生產 PostgreSQL 13 中查找慢查詢。兩件事:
- 我不確定此擴展對性能的影響。
- 我能做些什麼來提高它的性能嗎?下面的查詢需要> 1s - 有什麼建議嗎?
-- add the plugin create extension pg_stat_statements; select pg_stat_reset(); select pg_stat_statements_reset();
進而:
-- find slow queries using the extension: select * from pg_stat_statements order by total_exec_time desc limit 50;
從這裡:
- pganalyze 對性能有何影響?
pg_stat_statements 擴展的性能成本很小
- 它需要一些額外的共享記憶體,並且會消耗大約 1% 的 CPU 時間。
這是 PostgreSQL 貢獻者的一句話,他說:
我總是在生產數據庫上啟用它。這些好處非常值得小幅性能損失。
特別是在生產數據庫上,您想知道哪些語句會造成最大的痛苦並且應該進行優化。
從這裡開始(PostgreSQL 領域的另一個大熱門):
如果您使用 Postgres 並且尚未使用 pg_stat_statements,則必須將其添加到您的工具箱中。
這是舊的 - 兩個單獨的結果:
啟用 pg_stat_statements 模組後,pgbench 得分為 468.2 tps。在沒有(載入)pg_stat_statements 模組的情況下,pgbench 得分為 470.3 tps。差異(成本)僅為 0.5%
- Shared Buffers : 2048MB - Checkpoint Segments : 32 - WAL Buffers : 1024kB - Pgbench: Scale factor 10, 1,000 Transactions * 32 Clients
在某些(專門的恕我直言)條件下,他發現對性能有 10% 的影響。
讓我印象深刻的是,第一個測試是一個更像“伺服器”的場景。
總體:
PostgreSQL 領域的所有大玩家(強烈)都推薦它,而且****這里或 StackOverflow(我能找到)上都沒有類似的查詢
"I enabled pg_stat_statements" and now my server is running slowly"
,這似乎預示著該工具的好兆頭分數。綜上所述,沒有什麼可以替代使用您的硬體、軟體和網路配置在您自己的系統上進行基準測試的方法。最初,您可以嘗試在安靜的時間打開和關閉它 - 但請記住,這樣做需要重新啟動伺服器!