You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@stratos.apache.org by "Imesh Gunaratne (JIRA)" <ji...@apache.org> on 2014/06/29 22:07:25 UTC

[jira] [Updated] (STRATOS-645) Allowing users to configure an upper and a lower limit of threshold values

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