-
Notifications
You must be signed in to change notification settings - Fork 44
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
feat: Improve upon the default gRPC Connection Pool size #1706
base: grpc-experimental
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you use constants for gRPC minimum and maximum channel counts?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, but I agree with Kevin that constants would be good to have
Good catch! Fixed. |
Warning: This pull request is touching the following templated files:
|
This reverts commit 00c0d21.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Have you tested and verified that this indeed improves latency at the SDK? Running a client with high enough operation qps should be able to verify this.
Also, you can use tcpdump or netstat to verify the work done over each gcp connection .
Hi Jimit, I ran some benchmark tests with 1000 QPS and this change improved lookup and update average latencies by 2%-6%: go/connection-pooling-benchmark. I think this is a good indicator that the change improved latency at the SDK. |
The current Java SDK uses a default gRPC connection pool with only one channel . This can cause performance issues for clients with high request rates (over 100 queries per second) because they may experience throttling.
To address this, this PR update proposes changing the default connection pool settings to allow for multiple channels (minimum 1, maximum 4). This should improve performance for clients with high request rates, without requiring any changes to their code. Customers can still customize the connection pool settings if needed.
Please refer here for more details:
configure a more reasonable default grpc connection pool config