I have an AWS RDS aurora cluster with couple of read replicas. I am using an RDS proxy instance for connecting to the database for high availability.
For testing the failover performance, I wrote a simple application that constantly ping the database in a loop. Then I trigger a database failover via aws-cli/web-console while the application is running. The application logs the time it took to recover the connection after a failed ping.
When compared with a direct connection to the aurora cluster writer endpont, RDS proxy writer endpoint consistently performs well. (my observations align with the results shown in the AWS blog post).
However, when compared with a direct connection to the aurora cluster reader endpoint, RDS proxy read-only endpont performs badly. i.e. if you only need a read-only connection to the database, you shouldn't use the proxy, instead you should directly connect to the cluster reader endpoint.
After many tests I still see the same results. Can someone explain why it behaves like this ? is AWS RDS proxy only suitable for read-write database connections ?