Kon*_*rus 5 postgresql performance
我正在使用pg_buffercache模块来查找吃掉我的 RAM 缓存的猪。例如,当我运行此查询时:
SELECT c.relname, count(*) AS buffers
FROM pg_buffercache b INNER JOIN pg_class c
ON b.relfilenode = c.relfilenode AND
b.reldatabase IN (0, (SELECT oid FROM pg_database WHERE datname = current_database()))
GROUP BY c.relname
ORDER BY 2 DESC
LIMIT 10;
Run Code Online (Sandbox Code Playgroud)
我发现它sample_table使用了 120 个缓冲区。
120 个缓冲区的字节数是多少?
PostgreSQL 的硬编码块大小为8192字节 - 请参阅预定义的 block_size 变量。每当您编辑配置以指定 等时,这曾经是一个需要记住的数字shared_buffers,但配置现在支持后缀,例如MB它将为您进行转换。
通过努力,可以将 block_size 更改为其他值。对于少数应用程序来说,可能有更优化的大小,但代码对大小做出假设的位置数量很大。
| 归档时间: |
|
| 查看次数: |
1965 次 |
| 最近记录: |