Postgresql

pg_stat_statements 的性能影響是什麼?

  • December 7, 2021

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",這似乎預示著該工具的好兆頭分數。

綜上所述,沒有什麼可以替代使用您的硬體、軟體和網路配置在您自己的系統上進行基準測試的方法。最初,您可以嘗試在安靜的時間打開和關閉它 - 但請記住,這樣做需要重新啟動伺服器!

引用自:https://dba.stackexchange.com/questions/303503