[AIX Solaris HP-UX Linux Windows][z/OS]

Intelligent Management: application placement custom properties

Custom properties modify the application placement controller configuration. You can use these settings to tune the application placement controller behavior beyond the settings that are in the administrative console.

To set the application placement custom properties, expand Operational policies > Autonomic managers > Application Placement Controller > Custom Properties.

APC.predictor

By setting the APC.predictor custom property to a value of CPU, the application placement controller extends the dynamic cluster management to additional topologies.

To set the APC.predictor custom property, expand System Administration > Cell > Custom Properties.

By default, the application placement controller automatically controls dynamic clusters for the following topologies:
  • Dynamic clusters of web containers to which requests are routed through an on demand router
  • Dynamic clusters of Enterprise JavaBeans (EJB)
  • Dynamic clusters of message-driven beans (MDB) with the WebSphere Service Integration Bus
When the APC.predictor custom property is set to CPU, the following additional topologies are supported:
  • Dynamic clusters of web containers to which requests are routed using the web server plug-in, when Intelligent Management is enabled.
  • Dynamic clusters of MDBs with WebSphere MQ
  • Dynamic cluster of on demand routers
Table 1. APC.predictor custom property values
Value Description
Scope Cell
Valid value CPU

When the APC.predictor custom property is set to CPU, the application placement controller starts and stops application servers, and adds and removes nodes, based on the average CPU usage of all currently running cluster members. When the average CPU usage exceeds the Maximum CPU usage setting of CPU overload protection, and if the maximum number of application servers is not already started, an application server is started where CPU is available. When the elasticity mode is enabled, an add operation is required, if no CPU is available. When the elasticity mode is enabled, and the average CPU usage is low so that a WebSphere node is no longer needed, all application servers on the node are stopped, and a remove operation is performed.

Note: The custom property APC.predictor must be set to use APC when node-based ARFM is enabled.

APC.XD.failedServerTimePeriod

Use this custom property to adjust the application placement controller waiting time before removing a server from the list of server start failures.

When a server fails to start, the application placement controller records the server on the list of server start failures. The server is removed from the set of available servers. The application placement controller does not attempt to start the server as long as it appears on the list of server start failures. After a period of time (the default is 60 minutes), the application placement controller automatically removes the server from the list server start failures. The server is included in the set of available servers. To adjust the application placement controller waiting time before removing a server from the list of server start failures, set the application placement controller custom property (in minutes): APC.XD.failedServerTimePeriod.

Table 2. APC.XD.failedServerTimePeriod custom property values
Value Description
Default waiting time before automatically removing servers from the list of server start failures 60 minutes
Valid value minutes

APC.XD.memoryProfiler.totalMemoryWeight and APC.XD.memoryProfiler.residentMemoryWeight

Use these custom properties for specifying the percentage of total memory and the percentage of available RAM when calculating available memory. These percentage settings influence APC decisions on where to start and stop dynamic cluster members on different nodes and thus affect the efficiency of processing.

You can set the custom property to calculate available memory using the following code (on one line):
available memory = APC.XD.memoryProfiler.totalMemoryWeight * totalMemory + 
	APC.XD.memoryProfiler.residentMemoryWeight * residentMemory. 
where:
  • available memory is the physical memory available on a node.
  • totalMemory is physical memory plus virtual and shared memory.
  • residentMemory is the amount of RAM.

APC.XD.memoryProfiler.totalMemoryWeight identifies the percentage of total memory (virtual + shared).

APC.XD.memoryProfiler.residentMemoryWeight identifies the percentage of available memory (RAM).

The default percentage value is 33.33333 for APC.XD.memoryProfiler.totalMemoryWeight.

The default percentage value is 66.66666 for APC.XD.memoryProfiler.residentMemoryWeight.

On some operating systems, particularly Linux®, the virtual size can be extremely high, causing the memory on a system to appear consumed. This prevents APC from starting instances on nodes that actually have plenty of free memory. To resolve this issue, set APC.XD.memoryProfiler.totalMemoryWeight to 12 and the APC.XD.memoryProfiler.residentMemoryWeight to 88.

APC.BASE.PlaceConfig.BALANCED_INSTANCES

Use this custom property to balance the number of JVM instances among nodes. The number of the instances is calculated automatically. The weight for each cluster is calculated by weight = (Max instance for the cluster) / ((number of the nodes that the cluster instances are configured) -1). The maximum instances on a host is the sum of the weight for the clusters configured on the host.

Avoid trouble: Do not use this custom property with the custom properties for VMware infrastructure 3 platforms and Intelligent Management. See Configuring VMware Infrastructure 3 platforms and Intelligent Management.
Table 3. APC.BASE.PlaceConfig.BALANCED_INSTANCES custom property values
Value Description
Scope Application placement controller
Valid Value The option is enabled by setting the custom property to true.

APC.BASE.PlaceConfig.BALANCED_INSTANCES_ADDITIONAL_INSTANCES

Use this custom property to specify additional allowed JVM instances if the number of the instances is limited. When this option is enabled, the maximum instances of the server on a node should be limited to ( (Sum of max instances of the clusters) / (node -1) ) + ADDITIONAL_INSTANCES

Avoid trouble: Do not use this custom property with the custom properties for VMware infrastructure 3 platforms and Intelligent Management. See Configuring VMware Infrastructure 3 platforms and Intelligent Management.
Table 4. APC.BASE.PlaceConfig.BALANCED_INSTANCES_ADDITIONAL_INSTANCES custom property values
Value Description
Scope Application placement controller
Valid Value An integer value that specifies the number of instances.

APC.BASE.PlaceConfig.DEMAND_DISTANCE_OVERALL

Use this custom property to adjust the application placement controller placement change (APC) action trigger condition threshold. The APC compares the candidates of the placement changes to improve overall system performance. This custom property is used to determine the performance improvement of the candidate configuration is significant. The value of this custom property is the ratio of the improvement.

Table 5. APC.BASE.PlaceConfig.DEMAND_DISTANCE_OVERALL custom property values
Value Description
Scope Application placement controller
Default Value The default value is 0 and any performance improvement is considered significant and the placement change action is carried out.

APC.BASE.PlaceConfig.PRUNE_NO_HELP

This custom property disables the stopping of the application instance if it doesn't contribute to the system performance, before the placement calculation starts. This custom property reduces the chance of the placement changes.

Table 6. APC.BASE.PlaceConfig.PRUNE_NO_HELP custom property values
Value Description
Scope Application placement controller
Valid values Boolean
Default Value False

APC.BASE.PlaceConfig.UTILITY_DISTANCE_PER_APPL

Use this custom property to adjust the application placement controller placement change (APC) action trigger condition threshold. The APC compares the candidates of the placement changes to improve overall system performance. This custom property is used to determine the performance improvement of the candidate configuration is significant. The value of this custom property is the ratio of the improvement.

Table 7. APC.BASE.PlaceConfig.UTILITY_DISTANCE_PER_APPL custom property values
Value Description
Scope Application placement controller
Default Value The default value is 0 and any performance improvement is considered significant and the placement change action is carried out.

APC.BASE.PlaceConfig.WANT_VIOLATION_SCORE

This custom property is purely for debugging and prints details into the apcReplayer.log and trace at the end of the placement decision cycle, if there are any violations after placement.

Table 8. APC.BASE.PlaceConfig.WANT_VIOLATION_SCORE custom property values
Value Description
Scope Application placement controller
Valid values Boolean
Default Value False

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.

Avoid trouble: One and only one custom property should be set to true.
Table 9. CenterCell custom property values
Value Description
Scope Cell
Valid values true: Designates one cell as the center cell

false: Designates one cell as a point cell

apcConcurrentStartSize

You can use the apcConcurrentStartSize custom property to define the maximum number of server instances the application placement controller should attempt to start concurrently on a particular node.

The default number of server instances that the application placement controller attempts to start on a node is one instance. Set this property to a value greater than 1 if you want the application placement controller to start more than one server instance at the same time on a particular node.

Table 10. apcConcurrentStartSize custom property values
Value Description
Scope Application placement controller
Valid values An integer value that specifies the maximum number of instances to be started concurrently on a specific node.
Default 1

lazyStartMinInstances

You can use the lazyStartMinInstances custom property to configure multiple server instances to start when the on demand router (ODR) detects activity.

Prior to Version 6.1.1.2, only one server instance was started when a dynamic cluster was configured for application lazy start and the ODR received requests for the inactive dynamic cluster. By setting the lazyStartMinInstances custom property, however, multiple instances can be started.

When you set the custom property at the application placement level, the property applies to all of your dynamic clusters. Alternatively, you can set the custom property on a specific dynamic cluster so that multiple instances are started by that particular dynamic cluster. If other dynamic clusters configured for application lazy start exist, those clusters start only one instance each. The custom property value set at the dynamic cluster level overrides the custom property value set at the application placement level.

Table 11. lazyStartMinInstances custom property values
Value Description
Scope Dynamic cluster
Valid values An integer value that specifies the minimum number of instances to be lazily started.
Default 1

apc.log.enablePlacementLog

You can use the apc.log.enablePlacementLog custom property to enable or disable logs from being saved to the apc.log log file. The apc.log log file contains information about placement decisions. IBM® support can use this log file to help understand the placement decisions that are being made by the application placement controller.

Table 12. apc.log.enablePlacementLog custom property values
Value Description
Scope Application placement controller
Valid values

No value: The placement log is enabled.

false: The placement log is disabled.

apc.log.LogFileSize

You can use the apc.log.LogFileSize custom property to set the size of the application placement controller log file, the apc.log file, to a size in megabytes. The default size is 100 megabytes, but you can change the default value.

Table 13. apc.log.LogFileSize custom property values
Value Description
Scope Application placement controller
Valid values

An integer value of the number of megabytes for the log file. For example, if you enter 200, each log file will be about 200 megabytes.

The Java™ virtual machine (JVM) attempts to limit the log file to a byte size of 200 * 1024 * 1024 or 209,715,200 bytes, which is a smaller limit used by the JVM and is an approximate value. The actual size will likely be larger and varies by each JVM vendor. The actual byte size on the disk depends on the sector and cluster size of the physical disk, which will likely be larger than the byte size of the file.

apc.log.numHistoricalFiles

You can use the apc.log.numHistoricalFiles custom property to set the number of log files that are saved for the application placement controller. When the application placement controller log file reaches its maximum size, the historical file is saved if this value is greater than 1. If the value is equal to 1, the historical data appends to the existing file.

Table 14. apc.log.numHistoricalFiles custom property values
Value Description
Scope Application placement controller
Valid values An integer value that specifies the number of historical files you want to save, for example, 2.

APC.XD.cpuUtilizationThreshold

You can use the APC.XD.cpuUtilizationThreshold custom property to define the percentage of processor power that you can use on each node in a cell.

The APC.XD.cpuUtilizationThreshold custom property defines the percentage of processor power that is used on the nodes in your environment. The default value is 100, which means that 100% of the processor can be used on each node in the cell. For configurations that involve z/OS® nodes, you must set this value to less than 100.

Note: The default value for APC.XD.cpuUtilizationThreshold is COP-10 when node-based ARFM is enabled.

The application placement controller attempts to compute placements so that the utilization of any node does not exceed the defined threshold. The application placement controller considers all processes, including processes that are not related to WebSphere® Application Server or Intelligent Management when making these calculations.

[z/OS]Important: This property must be defined and must be set to a value less than 100 for configurations that involve z/OS nodes.
Table 15. APC.XD.cpuUtilizationThreshold custom property values
Value Description
Scope

Application placement controller: applies to all nodes in the cell.

Node: applies to a specific node.

Valid values An integer value that specifies the percentage of processor power to use on each node in the cell.

GenerateUniquePorts

You can use the GenerateUniquePorts custom property to generate unique ports for each dynamic cluster member.

[z/OS]By default, dynamic cluster members on distributed nodes are created with unique ports, while z/OS nodes do not have unique ports. On the z/OS platform, port numbers are usually set symmetrically according to specific range of numbers. The first dynamic cluster member always has unique ports, and these port numbers are applied to the other dynamic cluster members. You can set this property on the node group or on an individual node.
Table 16. GenerateUniquePorts custom property values
Value Description
Scope Node group, node
Valid values

true: Unique ports are generated for each dynamic cluster member.

false: Unique ports are created for the first dynamic cluster member, and subsequent dynamic cluster members use the same ports.

Default
z/OS platforms: false
Attention: If vertical stacking is enabled for a z/OS dynamic cluster, the port allocation strategy is forced to true, to generate unique ports for each dynamic cluster member.

Distributed platforms: true

maintenanceModeOnOperationFail

You can use the maintenanceModeOnOperationFail custom property to move a server into maintenance mode when the server start fails. The default value is false, which, instead of placing the server into maintenance mode when a server start fails, generates a runtime task. This runtime task contains a notification that the application placement controller did not receive notification about the completion of the server start.

Table 17. maintenanceModeOnOperationFail custom property values
Value Description
Scope Application placement controller
Valid values

true: Places the server into maintenance mode when the server start fails.

false: Generates a runtime task when a server start fails.

Default false
Note: When setting a node into maintenance mode and APC is set to automatic, by default, the deployment manager will time out the maintenance mode operation after 20 minutes. This can be changed by setting the generic JVM argument -DnodeMMTimeout. For more information, see Java virtual machine custom properties.

memoryProfiler.isDisabled

You can use the memoryProfile.isDisabled custom property to disable the memory profiler.

Under the default operation, the application placement controller profiles dynamic clusters online to determine their memory usage. You can disable this default operation by setting the memoryProfiler.isDisabled custom property to true. When the memory profiler is disabled, the application placement controller assumes a default memory usage value. This memory usage value is computed as 64k + 1.2 maxHeapSize, where maxHeapSize is the maximum heap size setting in the server template of the dynamic cluster.

Table 18. memoryProfiler.isDisabled custom property values
Value Description
Scope Application placement controller
Valid values

true: Disables the memory profiler.

false: Enables the memory profiler.

Default false

OverlappingCells

You can use the OverlappingCells custom property when two Intelligent Management cells share the same physical host. Configuring this property ensures that the application placement controller does not overuse resources on the shared host.

For more information about setting custom properties, read about configuring application placement for cells that share the same nodes.

Table 19. OverlappingCells custom property values
Value Description
Scope Application placement controller
Valid values
Enter the custom property value in the following format:
user_name:password@deployment_manager_host:port.SOAP 
If you are connecting three or more cells, separate the custom property values for each cell with a comma.
  • user_name: Specifies the name of the user that can log into the other cell.
  • password: Specifies the password for that user. You can encode the password so that it does not display in plain text in the administrative console. To encode a password, use the encodePassword script.
  • deployment_manager_host: Specifies the name of the deployment manager host for the other cell.
  • port: Specifies the SOAP port that is associated with the deployment manager, for example, the SOAP_CONNECTOR_ADDRESS port.

reservedMemoryFixed and reservedMemoryPercent

You can use these custom properties to define how much memory on each node to reserve for processes that are not related to WebSphere Application Server or Intelligent Management.

When these properties are defined, the total memory on a node for processes that are not related to WebSphere Application Server or Intelligent Management can be calculated using the following formula:
reservedMemoryFixed + reservedMemoryPercent * (totalNodeMemory - reservedMemoryFixed)
The reservedMemoryFixed custom property specifies a fixed amount of memory to reserve. The reservedMemoryPercent custom property specifies a percentage of memory to reserve.
Table 20. reservedMemoryFixed and reservedMemoryPercent custom property values
Value Description
Scope Application placement controller
Valid values

To set the value for the entire cell: Type the name of the custom property as reservedMemoryFixed or reservedMemoryPercent.

To set the value for a particular node: Type the name of the custom property, either reservedMemoryFixed.node_name or reservedMemoryPercent.node_name, where node_name is the name of your node. For example, if your node is named node1, the names of your custom properties are reservedMemoryFixed.node1 and reservedMemoryPercent.node1.

Default reservedMemoryFixed: 64 MB

reservedMemoryPercent: 5%

unsetMaintenanceModeAfterStart

Use this custom property to take a server out of maintenance mode after the server starts. If the maintenanceModeOnOperationFail custom property is enabled, the server is placed into maintenance mode after the server start fails. When the server starts successfully, you can use this property to move the started server out of maintenance mode automatically.

Table 21. unsetMaintenanceModeAfterStart custom property values
Value Description
Scope Application placement controller
Valid values

true: Moves the started server out of maintenance mode automatically.

false: Leaves the server in maintenance mode after it is started.

Default false

useNodeFreeMemory

Use this custom property to define a replacement to the reservedMemory default custom property. This custom property uses the node free memory statistic, plus the memory calculated for any dynamic cluster instances that are already on the node, to calculate the memory available for launching additional dynamic cluster instances.

Table 22. useNodeFreeMemory custom property values
Value Description
Scope Application placement controller
Valid values

true: Automatically calculates available memory.

false: Use reservedMemory default custom properties to define available memory.