Issue
Reporting and investigating issues related to performance
Summary of Issue
This article lists the initial information that must be collected in order to investigate issues related to performance.
Analysis
Specific answers to the following questions should be provided when reporting performance issues, along with the supporting artifacts listed in the Resolution section of this article:
- Was the performance ever good?
- If yes, quantify by providing relevant logs and reports that show how much time it was taking before, and how much time it currently takes.
- What is the expected or acceptable result?
- When did it start slowing down? What was the exact date and time?
- Were there any related changes to the environment that coincided with the bad performance?
- What was the sequence of events leading to the problem?
- Where/how was it noticed?
- What is the significance or impact of the problem? For example:
- Is it affecting all instances (AIS/ActOne), or limited only to some?
- Is it affecting all transaction types?
- Is it affecting all work item types?
- Are additional volumes involved (e.g., transactions, work items, ActOne users)?
- Is the problem consistent or sporadic?
- Does the problem occur at specific periods of the day?
- Are there any problematic use cases?
Resolution
Artifacts listed under AIS must be collected if the investigation is related to issues such as solution detection performance, AIS hanging, and AIS system resource utilization.
Artifacts listed under ActOne must be collected if the investigation is related to issues such as UI performance or unresponsiveness.
Artifacts listed under both AIS and ActOne must be collected if the issue involves both components, for example, slowness in distributing work items, calls between ActOne and AIS, refreshing platform lists, and deploying/refreshing policy manager rules.
Database reports must be collected if the issue involves database queries.
Collecting initial AIS information
- AIS logs with profiler enabled from the relevant instances KB0032350
- If hanging is involved, enable the AIS flow trace and collect multiple thread dumps KB0032750 (Linux), KB0032650 (Windows)
- Enable relevant AIS traces in either aislog.config (regular loggers) or aislog4j.confg (Java-related loggers)
- The Actimize Support Tool can be used to collect logs KB0032406
- If the issue involves JDBC, enable AIS JDBC tracing KB0102924
- If the issue involves Java
- Enable Garbage Collection logging and collect the GC log KB0090142
- If an OutOfMemory error is occurring within the JVM, add the following arguments to "Additional JVM Settings" in ais_config.xml:
-XX:+HeapDumpOnOutOfMemoryError;-XX:HeapDumpPath=<path> - Monitoring Java processes using JMX-compliant tools KB0061806, KB0050081 (over SSL)
- If the issue involves a solution maintenance job, the contents of the relevant SQL_FOR_BATCH_LOG table
Collecting initial ActOne information
- Diagnostics URL output http://host:port/RCM/api/v1/system/diagnostics
- ActOne logs KB0065661 and KB0032349
- perfmon.jsp output in Excel format KB0032600
- For RCM 5.12 and up, enable the server counters and collect the output KB0034679
- Multiple thread dumps KB0065629
- If an OutOfMemory error occurred, collect the heap dump generated when the OOM error occurred KB0063399
- Monitoring Java processes using JMX-compliant tools KB0032676
- F12 Developer tools (Console, Network, Profiling) output
Collecting initial DB information
- SQL Server
- Oracle
Collecting hardware information
- Environment specifications
- Architecture
- Basic commands for collecting information
- Linux
- Windows
- wmic memorychip get devicelocator, manufacturer
- wmic diskdrive
- wmic memorychip
- wmic cpu
- Hardware model and vendor
- CPU model and number
- Memory amount type and speed
- Storage details
- Type (internal/external)
- Number of disks
- Type (10K/15K/SSD; for AWS, volume type : t1,sc1,gp1, gp2,io1,io2, NVMEe )
- RAID configuration
- Number of network cards (NIC)
- Operating system
- Network latency between components (AIS / DB / ActOne)
- Linux
- ping -c 20 -s 20000 <host>
- traceroute <host>
- Windows
- ping -n 20 -l 20000 <host>
- tracert <host>
- Linux
- Collect metrics during the performance issue using any 3rd party APM tools
- AppDynamics
- DynaTrace
- IntroScope
- NMON
- Checking IO performance KB0080643