Details
-
Task
-
Resolution: Done
-
Major
-
4.5.0
-
None
Description
GsiClient has a load balancing algorithm based on indexer response time. It uses two parameters to control the algorithm:
1) equivalenceFactor. This controls tolerance of variance from the fastest indexer. The algorithm picks a set of indexer nodes based on their variance from the fastest indexer. The higher the equivalenceFactor, the more selective in choosing the indexers.
2) randomWeight. This controls how often the algorithm will pick indexer node randomly for scan request.
In curernt default setting, equivalenceFactor is 0.9, and randomWeight is 0.1. This means that the default setting will make indexer selection very selective.
We found that in YCSB test, one indexer has a response time that is 10x faster than the other indexers (based on GsiClient stats collection). This causes all requests going to this indexer node, even though the other indexers are available for scanning.
Attachments
For Gerrit Dashboard: MB-18540 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
66089,13 | MB-18540: granular load accounting for gsi-client. | unstable | indexing | Status: NEW | 0 | 0 |