[ https://issues.apache.org/jira/browse/STRATOS-645?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13991300#comment-13991300 ]
Nirmal Fernando commented on STRATOS-645: ----------------------------------------- Fixed with a series of commits start from 9f4c29f5a36bfcb30d972e28427f2cfda24623f8 to 5c335754a0bee9489701260f63d6c9bb76795b27 > 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)