有没有办法在大型 SQL 查询期间增加 AWS RDS 的数据库连接时间?
Is there a way to increase DB connection time for an AWS RDS during a large SQL query?
当我第一次设置我的 Postgresql 数据库时,我能够 运行 完成一个大约需要 5 分 30 秒的大型查询。我将我的 AWS RDS 实例切换到较低层以查看性能差异是什么,但查询不成功,所以我将其切换回我选择的原始层。但是,即使现在实例已返回原始 AWS 层,查询仍然无法正常工作。查看 AWS CloudWatch 监控中的实例,似乎数据库连接仅保持活动状态 5 分钟。有没有办法延长这个时间?
我正在使用 DBeaver、AWS RDS 和 Postgresql。
我似乎已经通过每 60 秒启用 TCP keepalive 参数解决了我的问题。
转到 Amazon RDS > 参数组 > 创建 Postgres 参数组 > Select 新参数组 > 单击编辑参数 > 筛选“alive” > 将 tcp_keepalives_idle 设置为 60 > 保存。我还过滤了“超时”并将 statement_timeout 设置为 3600000,尽管这可能是不必要的。
然后修改您的数据库并将新的参数组应用于它。您可能需要重新启动实例才能应用它。
可以增加RDS参数组中的“tcp_keepalives_ilde”,设置在30-60秒之间即可。根据 Postgres Documentation, 指定 TCP 应向客户端发送保活消息之前不活动的秒数。
根据 here,不建议在您的场景中设置 statement_timeout。默认值为 0,零值(默认)禁用超时。
在AWS RDS中,“tcp_keepalives_idle”是一个动态参数,这意味着它会在应用后立即生效,无需重启实例。 AWS 文档中的实际措辞如下:“当您更改动态参数并保存数据库参数组时,无论 Apply Immediately 设置如何,都会立即应用更改”
为了其他人的利益,可以参考AWS Documentation创建新参数组,然后返回RDS修改RDS实例以使用新创建的参数组。
当我第一次设置我的 Postgresql 数据库时,我能够 运行 完成一个大约需要 5 分 30 秒的大型查询。我将我的 AWS RDS 实例切换到较低层以查看性能差异是什么,但查询不成功,所以我将其切换回我选择的原始层。但是,即使现在实例已返回原始 AWS 层,查询仍然无法正常工作。查看 AWS CloudWatch 监控中的实例,似乎数据库连接仅保持活动状态 5 分钟。有没有办法延长这个时间?
我正在使用 DBeaver、AWS RDS 和 Postgresql。
我似乎已经通过每 60 秒启用 TCP keepalive 参数解决了我的问题。
转到 Amazon RDS > 参数组 > 创建 Postgres 参数组 > Select 新参数组 > 单击编辑参数 > 筛选“alive” > 将 tcp_keepalives_idle 设置为 60 > 保存。我还过滤了“超时”并将 statement_timeout 设置为 3600000,尽管这可能是不必要的。
然后修改您的数据库并将新的参数组应用于它。您可能需要重新启动实例才能应用它。
可以增加RDS参数组中的“tcp_keepalives_ilde”,设置在30-60秒之间即可。根据 Postgres Documentation, 指定 TCP 应向客户端发送保活消息之前不活动的秒数。
根据 here,不建议在您的场景中设置 statement_timeout。默认值为 0,零值(默认)禁用超时。
在AWS RDS中,“tcp_keepalives_idle”是一个动态参数,这意味着它会在应用后立即生效,无需重启实例。 AWS 文档中的实际措辞如下:“当您更改动态参数并保存数据库参数组时,无论 Apply Immediately 设置如何,都会立即应用更改”
为了其他人的利益,可以参考AWS Documentation创建新参数组,然后返回RDS修改RDS实例以使用新创建的参数组。