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년 전3147회 조회
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년 전

로그인하지 않았습니다. 로그인해야 답변을 게시할 수 있습니다.

좋은 답변은 질문에 명확하게 답하고 건설적인 피드백을 제공하며 질문자의 전문적인 성장을 장려합니다.

질문 답변하기에 대한 가이드라인

관련 콘텐츠