-
Notifications
You must be signed in to change notification settings - Fork 46
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
JDBC wrapper Increasing CPU utilization and API latency after migrating from RDS proxy #1060
Comments
Hi @avnish-choudhary , Thanks for reaching out and raising this issue. Would you give more details about your application:
We'll take a look at this and keep you updated as we investigate. Thank you for your patience! |
Hi @sergiyvamz we are using these wrapper plugins : readWriteSplitting,failover,efm2,iam I tried both of the example and I found that its not supporting IAM authentication with internal pool (SF_F0). |
Hi @avnish-choudhary, we have seen an issue describing a similar performance degradation in the past. Do you see the same issue with IAM disabled and are you also using a Postgres RDS instance? To answer your question, yes we recommend setting up two datasources and disabling the Could you please elaborate more on how internal pool does not work with IAM authentication? Were there connection errors? While the profile provides a set of predefined properties, client application can still override or add properties through the connection string: |
Hi @avnish-choudhary, I wanted to check in and see if you saw our response above. Please let us know. If there are no further updates on this ticket in the next few days, we will close this ticket. However, if you require further assistance, you can reopen this issue, or create a new one. Thank you! |
Describe the bug
we are currently using AWS RDS proxy with IAM authentication. We implement proxy mainly for failover, IAM authentication reasons.
Now after the release of new advanced jdbc wrapper we got all features inside the advanced jdbc wrapper library itself. so we want to implement this library and directly use RDS cluster with IAM authentication and failover support. we are using spring boot (2.1.8) and using hikari pool using this example: https://github.com/aws/aws-advanced-jdbc-wrapper/tree/main/examples/SpringBootHikariExample .
we observed that instance which was directly using advanced-jdbc-wrapper library was consuming lot of CPU and latency of one of the api was more than 6 seconds and same api was taking less than 1.5 second in other instance which was using AWS RDS proxy.
That api loads lot of data in memory (200 KB) and in case of parallel requests it was able to handle with proxy implementation. But same thing is failing with advanced-jdbc-wrapper.
Expected Behavior
Ideally there should be very minor difference in latency and CPU utilization.
CPU utilization without jar - 30%
CPU utilization after jar - 60%
API latency could have been near by upto 2 seconds as compared to proxy.
What plugins are used? What other connection properties were set?
readWriteSplitting,failover,efm2,iam
Current Behavior
CPU utilization without jar - 30%
CPU utilization after jar - 60%
Latency for memory intensive apis are more than 6 seconds as compared to 1.5 seconds(without wrapper).
Reproduction Steps
Possible Solution
No response
Additional Information/Context
No response
The AWS Advanced JDBC Driver version used
2.3.6
JDK version used
11
Operating System and version
UBUNTU 22
The text was updated successfully, but these errors were encountered: