【问题标题】:Resize Shared buffer size in Postgresql hosted in AWS RDS在 AWS RDS 中托管的 Postgresql 中调整共享缓冲区大小
【发布时间】:2017-02-27 05:38:09
【问题描述】:

我们在 AWS RDS 服务器中托管的生产 Postgresql 数据库服务器上面临性能问题。因此,我们在 EC2 实例 Linux 服务器中安装了 postgresql 以进行预生产,并尝试使用 RAM 值的 15% 的共享缓冲区值,我们得到了一些积极的响应。

因此,我们绝对可以将共享缓冲区值分配为 RAM 值的 15% 到 30%。 但是当我尝试调整我在 AWS RDS 中托管的生产数据库服务器中的共享缓冲区值时。它说无效的参数值。 默认情况下,为共享缓冲区参数分配了以下值。 共享缓冲区 = {DBInstanceClassMemory/32768}
请帮我调整共享缓冲区的大小至少占 RAM 内存的 15%。 我的实例规格是:2 CPU,7.5 GB RAM (db.m3.large)。

【问题讨论】:

    标签: postgresql amazon-web-services rds


    【解决方案1】:

    如果要将 shared_buffers 设置为 RAM 的 15%,请将 147456 作为值而不是 {DBInstanceClassMemory/32768}...

    shared buffers 设置为 8kB 块数 => 计算如下:

    postgres=> select (15*7.5*1024*1024 /100)/8;
          ?column?
    ---------------------
     147456.000000000000
    (1 row)
    

    地点:

    • 15 为 15%
    • 7.5 是 7.5 GB 的 RAM
    • 1024*1024 将 GB 转换为 KB(统一针对 shared_buffers 单位
    • 8 为 8kB

    然后您必须重新启动您的 RDS 实例并检查值:

    show shared_buffers; 在 psql 中

    【讨论】:

    • 我建议保留现有格式并将32768 更新为54613 (100/15*8*1024)。即使您升级或降级实例类也将是 15%
    猜你喜欢
    • 2023-04-05
    • 2010-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-15
    • 1970-01-01
    • 2011-07-10
    相关资源
    最近更新 更多