Postgres 内存计算 effective_cache_size
Postgres memory calculation effective_cache_size
我正在验证我的生产 Postgres 实例中的一些配置。我们的数据库服务器有 32 GB RAM。从 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 X 8 KB = 62.8 GB。如果我的计算是正确的,我们基本上是在告诉优化器我们有 62 GB 的这个参数,而我们只有 32 GB 的物理 RAM。
如果我计算这个参数有误,请指正。我总是对为 8 KB 的单元计算参数分配感到困惑。
7851762 乘以 8 kB 大约是 60 GB。
如果机器专用于 PostgreSQL 数据库,我会将设置配置为 30 GB。
此参数告诉 PostgreSQL 有多少内存可用于缓存其文件。如果该值很高,PostgreSQL 将估计嵌套循环连接在内侧进行索引扫描更便宜,因为它假定索引可能会被缓存。
我正在验证我的生产 Postgres 实例中的一些配置。我们的数据库服务器有 32 GB RAM。从 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 X 8 KB = 62.8 GB。如果我的计算是正确的,我们基本上是在告诉优化器我们有 62 GB 的这个参数,而我们只有 32 GB 的物理 RAM。
如果我计算这个参数有误,请指正。我总是对为 8 KB 的单元计算参数分配感到困惑。
7851762 乘以 8 kB 大约是 60 GB。
如果机器专用于 PostgreSQL 数据库,我会将设置配置为 30 GB。
此参数告诉 PostgreSQL 有多少内存可用于缓存其文件。如果该值很高,PostgreSQL 将估计嵌套循环连接在内侧进行索引扫描更便宜,因为它假定索引可能会被缓存。