+

Search Tips   |   Advanced Search

Intelligent Management: autonomic request flow manager custom properties

Use the following JVM custom properties to change the behavior of the autonomic request flow manager (ARFM). Some custom properties are set on deployment targets. All ARFM custom properties are case sensitive.

See: Set autonomic request flow manager custom properties


AC5.BurstFactor

Change how tolerant memory overload protection (MOP) is to bursts of traffic. If the maximum rate is one unit per second and the burst factor is one, then one unit of non-affinity traffic is admitted if it did not admit one in the last second. If the burst factor is three however, it admits three units every three seconds.

Scope On demand router
Valid values Integer
Default 3


arfmIgnoreHttpSessionsForCpu

If true the ARFM ignores the HTTP dialog structure for the purposes of CPU overload protection. Every incoming HTTP message is subject to admission control.

Scope Cell
Valid values Boolean
Default False


arfmIgnoreSipDialogsForCpu

If true the ARFM ignores the SIP dialog structure for the purpose of processor overload protection. Every incoming SIP message is subject to admission control.

Scope Cell
Valid values Boolean
Default False

For the custom property arfmIgnoreSipDialogsForCpu node-based ARFM applies to HTTP only.


arfmManageCpu

CPU overload protection is on by default. Set this to false to disable CPU overload protection and request prioritization.

Scope Cell
Valid values Boolean (true or false)
Default True

If the custom property arfmManageCPU is set to false, no queuing will occur.


arfmManualAllocation

Specify on a deployment target to put ARFM into manual mode when the custom property arfmMode is not set to manual. The value of the property is a string in a syntax that allows expression of allocations.

Scope Deployment target (Static cluster)
Valid values String
Default No default

String syntax:

Use white space between any two tokens. White space cannot be used between the tokens of a proxy-process value. For a specific message flow (for example, a combination of protocol family, proxy process, service class, and target cluster), the spec is processed left to right, and the first match is implemented.

We can express concurrency allocation with an integer number, or we can be omit it. Omission is denoted either by an asterisk, or by lack of mention. If the concurrency limit (number of seats) is omitted for a message flow, there is no concurrency limitation, and ARFM does not impose queuing on that specific message flow.

If the proxy process identifier is omitted, the allocations are divided equally among the active proxy processes (ODRs) of the protocol family.

To limit concurrency, set the cell custom property enableRateBasedARFM to false. When we configure concurrency, apply a factor of eight.

The following examples show different concurrency configurations:

No concurrency limits are imposed.

100 seats are allocated to each service class, divided evenly among the active <protocol family, proxy process> pairs.

The gold service class gets a total of 12 seats that are evenly divided among the active <protocol family, proxy process> pairs. The silver HTTP traffic gets 20 seats, evenly divided among its active ODRs. The silver SIP traffic gets four seats. Any flow that does not match any of the configured patterns has no concurrency limit.


arfmMaxRequestsPerCluster

Limits the number of concurrent requests running across a cluster. Set at the cluster level to limit for a particular cluster. Set at the cell level to limit all clusters on that cell. Cluster level limits override cell level limits.

Scope Cell/Cluster
Valid values Integer
Default No Default


arfmMaxRequestsPerServer

Limit the number of concurrent requests running on a cluster. Set at the cluster level to limit a particular cluster or set at the cell level to limit all clusters on that cell. Cluster level limits will override cell level limits.

Scope Cell/Cluster
Valid values Integer
Default No Default


arfmMode

Operating mode of the ARFM. In automatic mode, the ARFM has an autonomic controller that adjusts the dispatching priority of requests from the on demand routers to the servers and sends the placement controller information about the computational needs for the various dynamic clusters. In manual mode, we can override the autonomic controller with administrative settings.

Scope Cell
Valid values Manual, Automatic
Default Automatic


arfmPriorities

Enforce strict priority for service policies so that lower priority requests are starved at the expense of the higher priority requests.

For example: If the value is "Gold=2, Silver=1", the Gold service policy has a priority of 2 and Silver has a priority of 1.

Scope Cell
Valid values Comma-separated list of "<servicePolicyName>=<priority>" elements


arfmQueueMode

Enables node-based ARFM when set to node.

Scope Cell
Valid values Node, Cluster
Default Cluster


arfmQueueEnablingWindow

Designate the CPU value where a node will begin to use node-based ARFM control traffic. For example: Setting this value to 20 and CPU Overload Protection to 90 will allow node-based ARFM control traffic starting at a CPU value of 70.

Scope Cell
Valid values Integer
Default 40


arfmSharedCpu

Specify a map of nodes sharing hardware resources. We can use this custom property when running in a shared CPU environment where nodes can pool CPU resources.

Scope Cell
Valid values Name, Node set pairs in the format : name=sharedNode1, sharedNode2, sharedNode3,...
Default No Default


CenterCell

When configuring multi-cell performance management in the environment, we can use the CenterCell custom property to designate one cell as the center cell. We also set the CenterCell custom property individually for each cell to designate as a point cell.

Set only one custom property to true.

Scope Cell
Valid values true: Designates one cell as the center cell

false: Designates one cell as a point cell


CPUAdjustment

We can set this custom property on nodes that are on hyperthreaded computers. When the CPUAdjustment custom property is specified on a node, a correction function to apply to processor utilization readings is specified for that node. This function is applied to the processor utilization that is reported by the operating system, and yields a more accurate utilization measure.

Scope Node
Valid values String
Default No default

The custom property CPUAdjustment is a node property.


enableRateBasedARFM

ARFM uses a rate-based algorithm that results in a more consistent loading and protecting of application server resources. The rate-based ARFM feature is enabled by default. To disable the feature, set the enableRateBasedARFM custom property to false.

For concurrency limiting, the cell custom property enableRateBasedARFM must be set to false. Also, note that a factor of eight must be applied when we configure concurrency.

Scope Cell
Valid values Boolean
Default False


goodServiceTimeLimitSpec

The default value of one minute for determining timeouts is used if goodServiceTimeLimitSpec or timeoutFactor is not set. To override the default, set this custom property to customize the value for different levels of granularity. For example, service class, application, or module. To create a general rule of 5 minutes, create the custom property and set the value to "*:*:*:*:*=300" where the last part is the timeout value of 300 seconds. The timeout value is a decimal number, not necessarily a whole number, and is in units of seconds.

Scope Cell
Valid values Decimal number in unit of seconds
Default 60 if timeoutFactor is not set. Otherwise, no default.


magicNMode

We can set this custom property when ARFM is in automatic mode. When in automatic mode, concurrency limiting is performed according to one of two criteria, depending if the magicNMode custom property is enabled. When the magicNMode custom property is enabled, the total number of requests running concurrently at any given time is limited to a certain total. In normal mode, the total number of requests depends on the use of processor power on the nodes.

Scope Cell
Valid values Boolean
Default False

When node-based ARFM is enabled use the custom property arfmMaxRequestsPerCluster to manage concurrency limits.


magicN

Use this custom property when ARFM has the magicNMode custom property is enabled, to the limit on the total number of concurrent requests. If this property is not defined, a reasonable limit is estimated from other data.

If we are using the reasonable limit estimation, the limit on the total number of concurrent requests for a cell is the sum of a contribution from each node in the cell. The contribution from a node is the average, over the running application servers on that node, of the maximum size of the thread pool of the Web container on that application server.

Scope Cell
Valid values A positive integer defines the number of concurrent requests. To use the reasonable estimate, set the property value to a negative number or delete the custom property.
Default -1

When node-based ARFM is enabled use the custom property arfmMaxRequestsPerCluster to manage concurrency limits.


maxHttpLiveRequests

Define the maximum number of requests that are targeted for a particular cell and could be anywhere in the cell. That is, either queued in an ODR or running on an application server at a given time.

Scope Cell
Valid values Integer
Default No default

When node-based ARFM is enabled use the custom property arfmMaxRequestsPerCluster and queue limits to define the maximum number of requests that are targeted for a particular cell.


MOP.AveragingWindowInMS

The averaging window in milliseconds used by MOP. This time interval should be at least as long as the lifetime of 95 percent of the HTTP sessions, SIP dialogs, and application sessions. If the time interval is too short, MOP might not protect against memory overload. If the time interval is much longer than the lifetime of these objects, MOP still protects against memory overload but MOP takes a longer amount of time to ramp up to learn the maximum rate.

Scope Cell
Units milliseconds
Default 180000 ms


MOP.InitialMaxRatePerSec

If no persisted maximum rate value exists, the value of this custom property is used as the initial maximum rate.

Scope Cell
Default 1


node.memory

Available RAM defined in megabyte units on a node. Set this custom property on the node. Although this value is determined automatically, we can override the value.

Scope Node
Valid values A number of megabytes
Default No default


node.numCPUs

Number of processors on a multi-processor node. This value is automatically determined, but we can override the value. Set this custom property on the node.

Scope Node
Valid values Integer that represents the number of processors
Default No default


node.speed

Node speed in MHz. Set the value to the processor speed, multiplied by the number of processors on a multi-processor node. Set this custom property on the node. When we are running a node agent and a middleware agent on the same node, the node.memory value can be overridden. Define the custom property for both agents and set them to equal values.

Scope Node
Valid values A floating point number that represents the number of MHz of the reference instruction set.
Default No default


timeoutFactor

This value is multiplied by the response time threshold to determine the fine-grained timeout threshold. Use a timeoutFactor custom property when configuring the ARFM. The timeoutFactor value is multiplied by the response time threshold to yield the fine-grained timeout threshold.

This fine-grained timeout threshold is one of three different factors that the ARFM uses to determine that a running request has timed out. The running request has timed out when one of the following factors is true:

Scope Cell
Valid values Decimal representation of a floating point number
Default No default


useODRs

Specifies if the work profiler and placement controller rely on the services of the ODR servers.

Scope Cell
Valid values Boolean
DefaultRT True


Custom Properties: Cluster-Based vs. Node-Based ARFM

Custom Property Basic Function Applies when node-based ARFM is enabled Relevant to non-http protocols Changed by node-based ARFM
AC5.BurstFactor Set MOP burst tolerance Yes Yes No
arfmIgnoreHttpSessionsForCpu Ignore COP for session traffic Yes Yes No
arfmIgnoreSipDialogsForCpu Ignore COP for Sip dialogs No Yes N/A
arfmManageCpu Allow ARFM to manage CPU overloads Yes Yes No
arfmManualAllocation Set ARFM to manual mode on a deployment target No Yes N/A
arfmMaxRequestsPerCluster Limits the number of concurrent requests running across a cluster. Yes Yes No
arfmMaxRequestsPerServer Limits the number of concurrent requests running on a cluster. Yes Yes No
arfmMode Override ARFM settings with custom request flow management rules No Yes N/A
CenterCell Designate the center cell of a star topology Yes Yes No
CPUAdjustment Adjusts hyperthreaded nodes Yes Yes No
enableRateBasedARFM Enable the use of a rate based gateway instead of a concurrency based gateway Yes Yes No
goodServiceTimeLimitSpec Determines Timeout value Yes Yes No
magicNMode Enable concurrency limit mode No Yes N/A
magicN Limits the number of concurrency requests No Yes N/A
maxHttpLiveRequests Max total requests allowed on the cell Yes Yes N/A
MOP.AveragingWindowInMS MOP Setting Yes Yes No
MOP.InitialMaxRatePerSec MOP Setting Yes Yes No
node.memory Node manual override Yes Yes No
node.numCPUs Node manual override Yes Yes No
node.speed Node manual override Yes Yes No
timeoutFactor Determines the timeout value Yes Yes No
useODRs Obsolete N/A N/A N/A


Related:

  • Dynamic operations environment
  • Configure the autonomic request flow manager
  • Configure the autonomic managers
  • Configure multi-cell performance management: Star Topology
  • Intelligent Management: autonomic request flow manager advanced custom properties