Intelligent Management: application placement custom properties
- APC.predictor
- APC.XD.failedServerTimePeriod
- APC.XD.memoryProfiler.totalMemoryWeight and APC.XD.memoryProfiler.residentMemoryWeight
- APC.BASE.PlaceConfig.BALANCED_INSTANCES
- APC.BASE.PlaceConfig.BALANCED_INSTANCES_ADDITIONAL_INSTANCES
- APC.BASE.PlaceConfig.DEMAND_DISTANCE_OVERALL
- APC.BASE.PlaceConfig.PRUNE_NO_HELP
- APC.BASE.PlaceConfig.UTILITY_DISTANCE_PER_APPL
- APC.BASE.PlaceConfig.WANT_VIOLATION_SCORE
- CenterCell
- apcConcurrentStartSize
- lazyStartMinInstances
- apc.log.enablePlacementLog
- apc.log.LogFileSize
- apc.log.numHistoricalFiles
- APC.XD.cpuUtilizationThreshold
- GenerateUniquePorts
- maintenanceModeOnOperationFail
- memoryProfiler.isDisabled
- OverlappingCells
- reservedMemoryFixed and reservedMemoryPercent
- unsetMaintenanceModeAfterStart
- useNodeFreeMemory
To set the application placement controll (APC) 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 ODR
- Dynamic clusters of EJB
- Dynamic clusters of MDBs with the WebSphere SIB
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 IBM MQ
- Dynamic cluster of ODRs
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.
The custom property APC.predictor must be set to use APC when node-based ARFM is enabled.
APC.XD.failedServerTimePeriod
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 property (in minutes).
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
Custom properties used for specifying the importance of total memory and available RAM when calculating available memory.
We 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.
The default is 33.33333 for APC.XD.memoryProfiler.totalMemoryWeight.
The default 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 is 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
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.
Do not use this custom property with the custom properties for VMware infrastructure 3 platforms and Intelligent Management. See Configure VMware Infrastructure 3 platforms and Intelligent Management.
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
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
Do not use this custom property with the custom properties for VMware infrastructure 3 platforms and Intelligent Management. See Configure VMware Infrastructure 3 platforms and Intelligent Management.
Value Description Scope Application placement controller Valid Value Number of instances. APC.BASE.PlaceConfig.DEMAND_DISTANCE_OVERALL
Adjust the 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.
Value Description Scope Application placement controller Default Value The default is 0 and any performance improvement is considered significant and the placement change action is carried out. APC.BASE.PlaceConfig.PRUNE_NO_HELP
Disable 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.
Value Description Scope Application placement controller Valid values Boolean Default Value False APC.BASE.PlaceConfig.UTILITY_DISTANCE_PER_APPL
Adjust the 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.
Value Description Scope Application placement controller Default Value The default 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.
Value Description Scope Application placement controller Valid values Boolean Default Value False 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.
One and only one custom property should be set to true.
Value Description Scope Cell Valid values true: Designate one cell as the center cell
false: Designate one cell as a point cellapcConcurrentStartSize
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 to a value greater than 1 if we want the application placement controller to start more than one server instance at the same time on a particular node.
Value Description Scope Application placement controller Valid values Maximum number of instances to be started concurrently on a specific node. Default 1 lazyStartMinInstances
Configure multiple server instances to start when the on demand router detects activity.
When we set at the application placement level, the property applies to all of our dynamic clusters. Alternatively, we 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.
Value Description Scope Dynamic cluster Valid values Minimum number of instances to be lazily started. Default 1 apc.log.enablePlacementLog
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.
Value Description Scope Application placement controller Valid values No value: The placement log is enabled. false: The placement log is disabled.
apc.log.LogFileSize
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 we can change the default value.
Value Description Scope Application placement controller Valid values Number of megabytes for the log file. For example, if we enter 200, each log file will be about 200 megabytes. The 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
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.
Value Description Scope Application placement controller Valid values Number of historical files we want to save, for example, 2. APC.XD.cpuUtilizationThreshold
Percentage of processor power we can use on each node in a cell. The default is 100, which means that 100% of the processor can be used on each node in the cell. The default 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.
Value Description Scope Application placement controller: applies to all nodes in the cell. Node: applies to a specific node.
Valid values Percentage of processor power to use on each node in the cell. GenerateUniquePorts
Generate unique ports for each dynamic cluster member.
(ZOS) 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. We can set this property on the node group or on an individual node.
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 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
Move a server into maintenance mode when the server start fails. The default 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.
Value Description Scope Application placement controller Valid values true: Place the server into maintenance mode when the server start fails.
false: Generates a runtime task when a server start fails.Default false
When setting a node into maintenance mode and APC is set to automatic, by default, the dmgr will time out the maintenance mode operation after 20 minutes. This can be changed by setting the generic JVM argument -DnodeMMTimeout. See Java virtual machine custom properties.
memoryProfiler.isDisabled
Disable the memory profiler.
Under the default operation, the application placement controller profiles dynamic clusters online to determine their memory usage. We can disable this default operation by setting the 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.
Value Description Scope Application placement controller Valid values true: Disable the memory profiler.
false: Enable the memory profiler.Default false OverlappingCells
Use 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.
See: Configure application placement for cells that share the same nodes
Value Description Scope Application placement controller Valid values Format: user_name:password@deployment_manager_host:port.SOAP If we are connecting three or more cells, separate the custom property values for each cell with a comma.
user_name Name of the user that can log into the other cell. password Password for that user. We 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 Name of the dmgr host for the other cell. port The SOAP port associated with the dmgr, for example, the SOAP_CONNECTOR_ADDRESS port.
reservedMemoryFixed and reservedMemoryPercent
Define how much memory on each node to reserve for processes that are not related to WAS or Intelligent Management.
When defined, the total memory on a node for processes that are not related to WAS 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.
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 or reservedMemoryPercent.node, where node is the name of our node. For example, if the node is named node1, the names of our custom properties are reservedMemoryFixed.node1 and reservedMemoryPercent.node1.
Default reservedMemoryFixed: 64 MB reservedMemoryPercent: 5%
unsetMaintenanceModeAfterStart
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, we can use this property to move the started server out of maintenance mode automatically.
Value Description Scope Application placement controller Valid values true: Move the started server out of maintenance mode automatically.
false: Leaves the server in maintenance mode after it is started.Default false useNodeFreeMemory
Define a replacement to the reservedMemory default 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.
Value Description Scope Application placement controller Valid values true: Automatically calculate available memory.
false: Use reservedMemory default custom properties to define available memory.
Create dynamic clusters Configure dynamic application placement Configure multi-cell performance management: Star Topology Configure elasticity mode Configure application placement for cells that share the same nodes Intelligent Management: dynamic cluster custom properties