![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[z/OS]](../images/ngzos.gif)
Intelligent Management: autonomic request flow manager custom properties
You can use the following custom properties to change the behavior of the autonomic request flow manager (ARFM). Some custom properties are set on deployment targets.

AC5.BurstFactor
You can set this value to 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
You can set this custom property to true so that 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
You can set this custom property to true so that the ARFM ignores the Session Initiation Protocol (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 |
arfmManageCpu
CPU overload protection is on by default. Set the value of this custom property to false to disable CPU overload protection and request prioritization.
Scope | Cell |
---|---|
Valid values | Boolean (true or false) |
Default | True |
arfmManualAllocation
You can specify this custom property 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 |
spec = [case(,case)*]
case = casepattern=allocation
casepattern = [protocol-family:[proxy-process:]]service-class
protocol-family = SIP|HTTP|IIOP|JMS|*
service-class = step
proxy-process = [[step/]step/]step
step = namepattern
allocation = value[:value[:value]]
value = number|*
You can 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.
You can express concurrency allocation with an integer number, or you 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.
*=*
No concurrency limits are
imposed. *=800
100 seats are allocated to
each service class, divided evenly among the active <protocol family, proxy
process> pairs.gold=96, HTTP:silver=160, SIP:*:silver=32
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
You can use this custom property to 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
You can use this custom property to specify the 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, you can override the autonomic controller with administrative settings.
Scope | Cell |
---|---|
Valid values | Manual, Automatic |
Default | Automatic |
arfmPriorities
You can use this custom property to 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
Use this custom property to 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 |
CenterCell
When you are configuring multi-cell performance management in your environment, you can use the CenterCell custom property to designate one cell as the center cell. You also set the CenterCell custom property individually for each cell that you want to designate as a point cell.

Scope | Cell |
---|---|
Valid values | true: Designates one cell as the center
cell false: Designates one cell as a point cell |
CPUAdjustment
You 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 |
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.
Scope | Cell |
---|---|
Valid values | Boolean |
Default | False |
goodServiceTimeLimitSpec
Use a goodServiceTimeLimitSpec custom property when configuring the ARFM. 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
You 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 that are 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 |
magicN
You can 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 you 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 |
maxHttpLiveRequests
You can use this custom property to 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 |
MOP.AveragingWindowInMS
The averaging window in milliseconds that is 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
You can use this property to specify the available RAM defined in megabyte units on a node. Set this custom property on the node. Although this value is determined automatically, you can override the value.
Scope | Node |
---|---|
Valid values | A number of megabytes |
Default | No default |
node.numCPUs
You can use this custom property to specify the number of processors on a multi-processor node. This value is automatically determined, but you 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
You can use this property to define the 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 you 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
Specify the timeoutFactor custom property to indicate a value that 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.
- The proxy framework indicates the request timed out.
- The request reply includes a special HTTP header that indicates that the internal application timed out.
- The service time exceeds the fine-grained timeout value.
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 | Enables 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 |