Convergence: Add waiting time throttle for sync point
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Heat |
Fix Released
|
Medium
|
Anant Patil |
Bug Description
Current retry method on get sync with sync point and update database table by a while loop.
When a convergence stack with huge number of resources doing any action, all resource try to grep the sync point and cause contentions. This reduce the performance of total sync action.
We should add some method to reduce pointless contentions caused by unlimited retry.
We can add a time throttle and limit the unlimited retry. For example if we give a limit to 5 times and with time throttle set to random number between 0.5 -1 sec.
After five times of retry, resource should consider under a contention, therefore start add a waiting time throttle before next retry.
Tested by a devstack vcpu2 memory 4G
config:(without improvement)
max_resources_
rpc_response_
------
| Size | Time taken (secs) | max_db_cons |
------
| 100 | 70 | 90 |
------
| 200 | 180 | 123 |
------
| 400 | 665 | 125 |
------
| 600 | 950 | 199 |
------
config:(with improvement)
free_sync_
time_throttle = 0.5
max_resources_
rpc_response_
------
| Size | Time taken (secs) | max_db_cons |
------
| 100 | 44 | 100 |
------
| 200 | 88 | 172 |
------
| 400 | 190 | 142 |
------
| 600 | 330 | 240 |
------
Same size are tested together in different time, so we won't compare the increase ratio between size.
We can tell that with proper waiting time the overall cost of time get a pretty good improvement.
The db connection look also grep a little advance on this, but only make sure through more detail test.
[1] https:/
Changed in heat: | |
milestone: | none → mitaka-3 |
Changed in heat: | |
milestone: | mitaka-3 → newton-1 |
Changed in heat: | |
assignee: | Rico Lin (rico-lin) → Anant Patil (ananta) |
Changed in heat: | |
assignee: | Anant Patil (ananta) → Rico Lin (rico-lin) |
Changed in heat: | |
assignee: | Rico Lin (rico-lin) → Anant Patil (ananta) |
Changed in heat: | |
assignee: | Anant Patil (ananta) → Rico Lin (rico-lin) |
Changed in heat: | |
assignee: | Rico Lin (rico-lin) → Anant Patil (ananta) |
Changed in heat: | |
importance: | Undecided → Medium |
Fix proposed to branch: master /review. openstack. org/261929
Review: https:/