[
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)