Using RDS Proxy doubles or triples average response times

0

When we swap over to routing our READ traffic to go through RDS Proxy our average response time (web app) goes from ~200ms to ~600ms. As soon as we swap back to using the Aurora cluster endpoint the average response time significantly drops. No other changes, the only change we make is the hostname for the DB.

Is this normal? Is this a sacrifice we have to make for connection management and faster failover?

See here https://i.imgur.com/Vi1zPoP.png it's painfully obvious when we swap over to route through the RDS Proxy.

  • RDS Proxy and Aurora MySQL cluster
  • Same region, same subnets, same VPC.
  • Aurora MySQL cluster 1x Write 1x Read, db.r5.large instances
  • ap-southeast-2 region
  • Running Aurora v2.10

The web application we're running is a standard PHP/Laravel web app. (php8, laravel 8)

Update Cloudwatch Metrics of the RDS Proxy (when in use)

https://i.imgur.com/WXv1qzw.png https://i.imgur.com/5U7zi9t.png https://i.imgur.com/imq1e3N.png

  • What language & db client in your web app are used to make these db queries?

  • JasonF, did you ever manage to fix your issue? We have a similar behavior where DB queries take roughly twice as long since we started talking to our aurora MySQL (1.x for us) through an RDS proxy.

  • Hi, similar to the above, we're experiencing the same issue - did you find a solution?

  • Anthony: on our side we didn't find a solution. While the doubling of latency seemed huge, the impact on our SLOs (and hence, on our users) was low, so we decided to continue using the proxy.

JasonF
已提問 2 年前檢視次數 3148 次
2 個答案
0

This is indeed strange behavior, Are you using IAM for authentication ? I am really curious if your connections are getting pinned and every call to the database has to get a new connection. There are couple of metrics that you can monitor that might give you some idea where the delay is coming from, DatabaseConnections and DatabaseConnectionsCurrentlyBorrowed to get the number of connections and connections in use, and DatabaseConnectionsBorrowLatency, DatabaseConnectionsCurrentlySessionPinned. These are available in cloudwatch https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-proxy.monitoring.html

AWS
已回答 2 年前
0

These all look good. I would suggest please open a ticket with support as they will have access to logs and all and can help troubleshoot the issue.

AWS
已回答 2 年前

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南