[ https://issues.apache.org/jira/browse/STRATOS-645?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Imesh Gunaratne updated STRATOS-645: ------------------------------------ Affects Version/s: (was: 4.0.0 RC) 4.0.0 > Allowing users to configure an upper and a lower limit of threshold values > -------------------------------------------------------------------------- > > Key: STRATOS-645 > URL: https://issues.apache.org/jira/browse/STRATOS-645 > Project: Stratos > Issue Type: Improvement > Components: Autoscaler > Affects Versions: 4.0.0 > Reporter: Nirmal Fernando > Assignee: Nirmal Fernando > Fix For: 4.1.0 > > > Current auto-scaler takes only the 'average' threshold value from a user's > auto-scaling policy. Then inside the scaling related drools rules it > calculates an upper bound and a lower bound by multiplying the average > threshold value by two non-configurable constants. > scaleUp : Boolean() from ((rifReset && (rifPredictedValue > rifAverageLimit * > 0.8)) || (mcReset && (mcPredictedValue > mcAverageLimit * 0.8)) || (laReset > && (laPredictedValue > laAverageLimit * 0.8))) > scaleDown : Boolean() from ((rifReset && (rifPredictedValue < > rifAverageLimit * 0.1)) && (mcReset && (mcPredictedValue < mcAverageLimit * > 0.1)) && (laReset && (laPredictedValue < laAverageLimit * 0.1))) > IMO this is a limitation and we could make these constants configurable via > auto-scaling policy. > So, I propose following format to the auto-scaling policy: > { > "id": "autoscale-policy-1", > "loadThresholds": { > "requestsInFlight": { > "upperLimit": 30, > "lowerLimit": 5 > }, > "memoryConsumption": { > "upperLimit": 80, > "lowerLimit": 50 > }, > "loadAverage": { > "upperLimit": 100, > "lowerLimit": 20 > } > } > } > Then, we can modify the rule to consider user-defined threshold values when > taking the scaling decision. -- This message was sent by Atlassian JIRA (v6.2#6252)