Tim*_* He 1 postgresql performance concurrency metadata locking
我想弄清楚PostgreSQL在一段时间内等待锁所花费的时间(在这段时间内,PostgreSQL服务了很多请求)。
PostgreSQL 系统表pg_locks
显示一些信息。喜欢:
SELECT * FROM
pg_locks pl LEFT JOIN
pg_stat_activity psa
ON pl.pid = psa.pid;
Run Code Online (Sandbox Code Playgroud)
但是我仍然无法弄清楚它在锁上花费了多长时间。
我发现当我增加 PostgreSQL 的并发性时(例如,增加每个收集的并行工作线程数、最大并行工作线程数或其他一些配置),我的 100 秒多线程 TPC-C-like 工作负载变得更慢(即,更低的吞吐量)。所以我想弄清楚这是否是因为争用过多。
对于 SQL Server:如何在没有分析器的情况下查看查询花费了多长时间等待锁定?
您可以启用log_lock_waits
以获取有关等待时间超过deadlock_timeout
锁定时间的会话的信息。您可以减少deadlock_timeout
以查看更短的等待时间。
除此之外,监视wait_event_type
和wait_event
in pg_stat_activity
。如果您经常看到锁,那可能是个问题。
归档时间: |
|
查看次数: |
53 次 |
最近记录: |