0
votes

I am using RDS Proxy in front of Aurora MySQL writer(db.r3.large), and I started doing some performance testing. My test consist on making 500 requests per minute and check how the Proxy and Aurora performs.

What I observed is that Aurora instance has worked at 100% of CPU utilization for 40 mins, after that, the CPU consumption dropped until almost 10%, so I guess RDS is caching data or since the connections are already open, the CPU utilization dropped that way.

In order to reduce the CPU consumption for the first 40 mins, I have two alternatives, either I scale the instance vertically or I reduce the connection pool size in the proxy.

What is the better approach to take here?

In addition, I have a read replica that is not being used by the Proxy, but well, I think RDS Proxy does not behaves as a load balancer between the writer and the reader instances.

Thanks

1

1 Answers

0
votes

To minimize cache warmup delays, in your Aurora Performance Group,

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

The very best to you.