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
.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
.- 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
- 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
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.
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
.
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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 | 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.
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.
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 |
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.
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.
Value | Description |
---|---|
Scope | Application placement controller |
Valid values |
Enter the custom property value in the following format:
user_name:password@deployment_manager_host:port.SOAPIf you are connecting three or more cells, separate the custom property values for each cell with a comma.
|
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.
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_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.
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.
Value | Description |
---|---|
Scope | Application placement controller |
Valid values |
true: Automatically calculates available memory. false: Use reservedMemory default custom properties to define available memory. |