启动新连接时的 AWS RDS 代理 CPU 消耗
AWS RDS Proxy CPU consumption when initiating new connections
我在 Aurora MySQL writer(db.r3.large) 前使用 RDS Proxy,我开始做一些性能测试。
我的测试包括每分钟发出 500 个请求并检查 Proxy 和 Aurora 的执行情况。
我观察到 Aurora 实例以 CPU 100% 的利用率工作了 40 分钟,之后,CPU 消耗下降到几乎 10%,所以我猜 RDS 正在缓存数据或由于连接已经打开,CPU 利用率因此下降。
为了减少前 40 分钟的 CPU 消耗,我有两个选择,我垂直缩放实例 或 我减少代理中的连接池大小.
这里采用什么方法更好?
此外,我有一个未被 Proxy 使用的只读副本,但是,我认为 RDS Proxy 不会充当编写器和 reader 实例之间的负载平衡器。
谢谢
为了最大限度地减少缓存预热延迟,在您的 Aurora 性能组中,
innodb_fast_shutdown=OFF # recommended for production to usually avoid RECOVERY
innodb_buffer_pool_dump_pct=90 # to preserve active row pointers across instance stop/start
innodb_buffer_pool_dump_at_shutdown=ON # to prepare for next instance start
innodb_buffer_pool_load_at_startup=ON # to reduce loading delays at instance start
innodb_flush_neighbors=2 # sweep all rows for same extent in one sweep cycle
给你最好的。
我在 Aurora MySQL writer(db.r3.large) 前使用 RDS Proxy,我开始做一些性能测试。 我的测试包括每分钟发出 500 个请求并检查 Proxy 和 Aurora 的执行情况。
我观察到 Aurora 实例以 CPU 100% 的利用率工作了 40 分钟,之后,CPU 消耗下降到几乎 10%,所以我猜 RDS 正在缓存数据或由于连接已经打开,CPU 利用率因此下降。
为了减少前 40 分钟的 CPU 消耗,我有两个选择,我垂直缩放实例 或 我减少代理中的连接池大小.
这里采用什么方法更好?
此外,我有一个未被 Proxy 使用的只读副本,但是,我认为 RDS Proxy 不会充当编写器和 reader 实例之间的负载平衡器。
谢谢
为了最大限度地减少缓存预热延迟,在您的 Aurora 性能组中,
innodb_fast_shutdown=OFF # recommended for production to usually avoid RECOVERY
innodb_buffer_pool_dump_pct=90 # to preserve active row pointers across instance stop/start
innodb_buffer_pool_dump_at_shutdown=ON # to prepare for next instance start
innodb_buffer_pool_load_at_startup=ON # to reduce loading delays at instance start
innodb_flush_neighbors=2 # sweep all rows for same extent in one sweep cycle
给你最好的。