-
Notifications
You must be signed in to change notification settings - Fork 193
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
Hub mode performance improve: use watch-list to replace regular query all service one by one #3393
Comments
Created [CONTCNTR-4719] for internal tracking. |
Hi @trinaths, after some research, this performance not only for Hub mode, but also for all configmap mode. The appManager has a
After the asManager received the request message from Channel, then it iterator all tenants from all configmaps, for each tenants related services, the asManager will execute a query endpoints opeartion this is the reason why syn POD IP changes to BIG-IP is so slowly once the configmap related services is large. For no-hub mode configmap, the time spend to syn a POD change is:
For hub mode configmap, the time spend to syn a POD change is:
NOTE: one time query endpoints means CIS query API server, if the numbers of the services is large, then to total time is large. I also have another finding, each time a service endpoint change(POD IP change), will trigger 2 kinds of query, one is query the related service, another is query all services. I would like request take a high priority to increase CIS configmap mode performance. |
@kylinsoong Thanks for sharing your findings. Can you also look into migrating from ConfigMaps to CRDs ? and share your findings. |
@trinaths Thanks for updates, I have tried to convinced the customer, but they insist to increase configmap mode performace, I will involved senior manager both from F5 side and Customer's side to get a the direction which to address this problem. |
I have made a small source code change, which use warch-list to replace rest api query in hub mode, and found the performance are increased 95%. TEST ENV:
TEST PROCEDURE:
Note that the time spend to syn POD scale in watch-list is 5 seconds, but if use query api server it spend 95 senconds. The test is demonstrated that switch hub-mod to watch-list is meaningful. |
Hub mode performance improve
Currently Hub mode need more than 30 seconds to synchronize a POD IP change to BIG-IP, need increase performance.
Description
Current CIS Hub mode query all service(configured in configmap) one by one every 30 seconds, which means a service change may need long time to synchronize to BIG-IP.
Too many API query can cause throttling request, decrease the whole system reliable, k8s client go watch-list and cache sdk are wide used to increase the reliability, CIS not hub mode already use this mechenism.
So I request use watch-list to improve hub mode performance. what the initial thoughts are:
The text was updated successfully, but these errors were encountered: