postgresql - Postgres内存计算 effective_cache_size

标签 postgresql configuration postgresql-9.4

我正在验证生产 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 将估计嵌套循环连接与内侧索引扫描的成本较低,因为它假设索引可能会被缓存。

关于postgresql - Postgres内存计算 effective_cache_size,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56330085/

相关文章:

emacs - 如何强制emacs重新着色

php - 创建时使用 laravel 返回模型

php - symfony用较低的函数创建数据库索引

arrays - 从多列创建 JSON 对象数组

python - 如何使用 Scrapy 的 SQLAlchemy 创建 pg_trgm 索引?

Laravel 作业在 DEALLOCATE 上留下一个空闲的 postgresql 进程

ruby-on-rails - Rails 和 postgres - 在 heroku 上部署期间忽略 pg gem

java - 如何避免在我的java bean中使用Spring注释并仅在配置类中使用它们?

java - 如何为 Spring 测试配置嵌套依赖?

postgresql - 如何从 plpgsql 中的循环返回结果?