You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

Diagnosing Server Performance Issues

The following article serves as a diagnostics checklist to investigate server performance issues. If you are experiencing performance issues, review the sections below to diagnose the cause of the issue. If you are unable to identify the performance issue on your own, escalate the issue to our support team. For more information, see Escalate an Issue.

Prerequisites

Depending on your release version and the method of investigating server performance, you may need the following:

  • Access to the server file system
  • Access to the admin console

Run Performance Analysis

Before completing any other steps to investigate server performance issues, run the performance analysis Python script, performance_analysis.py. 

In most cases, you need access to the server file system to run this script. However, in any release later than 2019_01 r195525 dated after 08/01/2019, you can run the script by opening the administrator consolegoing to Debugging > Performance, and clicking Run Performance Analysis:

If your system is running an earlier release, you can run the script manually from the command line. Download the script here: performance_analysis.py.

This script is designed to identify the specific activities that may be causing performance problems. It checks the CPU and memory utilization and produces a summary of events and activities for the day. The summary can help determine if an incorrectly configured rule or action should be investigated as a potential cause of performance issues.

When you run the script from the admin console, it captures activities beginning at 12:01am. When you run the script manually, you can configure the time frame to use a different starting point.

Diagnose Issues on a Self-hosted Server

The following sections are helpful to investigate server performance issues when you host  Agiloft on your own server. If you use our hosted service, see Escalate an Issue below.

Verify the Hardware Configuration

Complete these steps to verify your hardware configuration:

  1. Check your hardware configuration to confirm that it follows Agiloft System Requirements for hardware.
  2. Run a performance test through the Administrator Console to validate the hardware configuration. See Optimizing System Performance for additional details on this performance test and other aspects of your system that can affect performance.  

Check CPU and Memory Utilization

To investigate any CPU and memory utilization issues reported by the performance_analysis.py script, and to determine if a third-party application is taxing those resources, use the following techniques, depending on your operating system:

  • For Linux servers, use the uptime, top, and free commands.
  • For Windows servers, use the Task Manager or the Resource Monitor.

CPU and memory utilization regularly fluctuate. When investigating performance issues, look for applications that consistently consume CPU resources or RAM on a server.

If you determine that a third-party application is responsible for the high load or memory utilization, review the log files or thread dumps for that application.

Run Agiloft Diagnostics

Jboss is the primary process for the Agiloft application. On Linux servers, the process appears as java. On Windows servers, it appears as ewjboss. Running diagnostics on the process and reviewing log files can help identify any performance issues.

Thread Dump

If a performance issue occurs while executing a particular set of steps in the interface, repeat the steps and take a Jboss thread dump at the same time. To take a thread dump, run the following command on the server as root or an administrator, substituting the directory where   Agiloft is installed for [AGILOFT_HOME]:

[AGILOFT_HOME]/bin/ew-control -d tr 

Take two or three thread dumps and review them to isolate the cause of the performance issue.

Heap Dump

If the Agiloft logs show memory-related problems, such as "OutOfMemory" errors, then a heap dump may be necessary.

Heap dumps are resource intensive and can take hours to complete. Run them outside of business hours or be ready to end the operation if it is severely affecting performance.

To perform a heap dump, run the following command on the server as root or an administrator, substituting the directory where   Agiloft is installed for [AGILOFT_HOME]:

[AGILOFT_HOME]/bin/ew-control -d hp

Escalate an Issue

If the previous diagnostics do not reveal the cause of the performance issue, or if your system is hosted by  Agiloft, escalate the issue to our support team for further investigation.

Submit Performance Issues for Further Investigation

Log in to our Support Portal and submit a support ticket with the following information:

  • Steps to reproduce the issue.
  • Knowledgebase credentials.
  • Impact assessment, including the number of people the issue is affecting.
  • Thread dumps and log files. If the server is hosted by Agiloft, grant access to the location of the logs and document the location in the ticket.


  • No labels