-
Notifications
You must be signed in to change notification settings - Fork 89
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[router][server] Fixed the conn metric in server and improve HAR rout…
…ing in Router This code change includes two main changes: 1. Update Venice Server to track the connection-level metrics truly and previously it was actually tracking the request-level metrics. 2. Update Venice Router HAR least-loaded algo to take group latency into account and here are the reasons: a. When the total qps is relatively low, the pending request count based load rebalancing algo doesn't work well as most of the time, the pending count is 0. One example: let us say, the avg latency of one group is 10ms, and if the group qps is 10, that means very likely only 10-20% of the time, there are some pending requests and even another group latency is much lower: 1-2ms, the faster group won't be selected, and the latency-based LB algo will kick in when the above case happens to prefer the faster group if the pending count is equal among all the groups. b. Completely getting rid of pending request count based LB will result in another issue as the relatively slower group will get almost zero request. c. A combination of pending request and latency will select the faster groups when all groups are busy or idle, and it will still send some amount of requests to the slower groups in case it is too idle and it will help bring back the slower group into the rotation when it is recovered from the slowness.
- Loading branch information
Showing
11 changed files
with
117 additions
and
138 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.