我正在验证生产Postgres实例中的一些配置。我们的DB服务器有32 GB内存。从pg_settings中,我看到effective_cache_size设置为:
postgres=> select name, setting, unit from pg_settings where name like 'effective_cache_size';
name | setting | unit
----------------------+---------+------
effective_cache_size | 7851762 | 8kB
(1 row)据我理解,这个值为7851762×8 KB =62.8GB。如果我的计算是正确的,我们基本上是告诉优化器,我们有62 GB的这个参数,而我们只有32 GB的物理RAM。
如果我计算这个参数错误,请纠正我。计算8KB单元的参数分配时,我总是感到困惑。
发布于 2019-05-27 17:18:59
7851762乘以8 kB大约是60 GB。
如果机器专用于PostgreSQL数据库,我将将设置配置为30 GB。
此参数告诉PostgreSQL有多少内存可用于缓存其文件。如果值较高,PostgreSQL将估计嵌套循环与内部索引扫描的连接成本更低,因为它假定索引可能会被缓存。
https://stackoverflow.com/questions/56330085
复制相似问题