This page lists the Synthetic Server requirements, offers sizing guidance, and shows you how to modify the default settings.

AppDynamics Platform Requirements

To deploy the Synthetic Server, you need to install the following AppDynamics platforms:

  • Controller
  • Events Service
  • Synthetic Agent
    •     Private Synthetic Agent 
    •     Hosted Synthetic Agent

Certain Synthetic Server features—specifically, Synthetic Sessions Analytics, features of Application Analytics that extend the functionality of Synthetic Sessions—require access to the AppDynamics Events Service. 

Synthetic Agent Requirements

The following table lists the requirements for deploying Private Synthetic Agents and Hosted Synthetic Agents.

Synthetic AgentRequirements
Private Synthetic AgentsSee Install the Private Synthetic Agent.
Hosted Synthetic Agents
  • Hosted Synthetic Agent license
  • AppDynamics Access (HMAC) Key (part of the license file for Hosted Synthetic Agent)

Hardware Requirements

These requirements assume that the Synthetic Server is installed on a separate machine. If other AppDynamics platforms are installed on the same machine, the requirements (particularly for memory) could vary greatly and require many more resources.

  • Storage: 50 GB free disk space
  • Memory: 8 GB memory 
  • CPU: 64-bit CPU with at least 2 cores 
  • Network bandwidth: 50 Mbps 

NTP should be enabled on both the EUM Server host and the Controller machine. The machine clocks need to be able to synchronize.

Scaling Requirements

You are required to have one EUM account for each on-premises deployment of the Synthetic Server. The machine hosting the Synthetic Server should be able to support 100 concurrent Synthetic Agents or 10 locations with 10 Synthetic Agents per location.

If you need the Synthetic Server to support more than 100 concurrent Synthetic Agents, see Increase the Synthetic Agent Support.

Operating System Support

The Synthetic Server is supported on the following operating systems:

Linux (64 bit)

  • RHEL 8 and 9
  • Cent OS 8.x
  • Ubuntu 20.x and 22.x
  • OpenSUSE Leap 15.5

 You can use the following file systems for machines that run Linux:

  • ZFS
  • EXT4
  • XFS 

On-premises deployments on Linux are only supported on Intel architecture. Windows is not supported at this time.

Network Requirements

The network settings on the operating system need to be tuned for high-performance data transfers. Incorrectly tuned network settings can manifest themselves as stability issues.

The following command listing demonstrates tuning suggestions for Linux operating systems. As shown, AppDynamics recommends a TCP/FIN timeout setting of 10 seconds (the default is typically 60), the TCP connection keepalive time to 1800 seconds (reduced from 7200, typically), and disabling TCP window scale, TCP SACK, and TCP timestamps.

echo 5 > /proc/sys/net/ipv4/tcp_fin_timeout 
echo 1800 >/proc/sys/net/ipv4/tcp_keepalive_time 
echo 0 >/proc/sys/net/ipv4/tcp_window_scaling 
echo 0 >/proc/sys/net/ipv4/tcp_sack 
echo 0 >/proc/sys/net/ipv4/tcp_timestamps

The commands demonstrate how to configure the network settings in the /proc system. To ensure the settings persist across system reboots, be sure to configure the equivalent settings in the etc/sysctl.conf or the network stack configuration file appropriate for your operating system. 

Software Requirements

The Synthetic Server requires the following software to run and function correctly. You are required to have outbound internet access to install Python, pip, and flake8.

SoftwareRequired VersionFunction

The Synthetic Server requires JDK 17 to run services such as Synthetic Scheduler and Synthetic Shepherd.

You need to set the environmental variable JAVA_HOME to the home directory of the JDK.


The Synthetic Server relies on Python to validate scripts.


Python uses pip to install software. For example, pip could be used on some Linux distributions to install flake8, a Python utility used to lint scripts. 

If the machine where you're installing the Synthetic Server does not have Internet access, run the following steps to fetch and install flake8:

  1. From a machine with internet access and pip installed:

    1. Create a directory for the flake8 library:

       mkdir ~/flake8
    2. Download the flake8 package:

      python -m pip download flake8 -d ~/flake8
      python3 -m pip download flake8 -d ~/flake8

    3. Zip and tar the flake8 package:

      tar cvfz flake8.tgz ~/flake8
    4. Copy flake8.tgz to the $HOME directory of the host machine of the Synthetic Server.

  2. From the host of the Synthetic Server that has no internet access, but does have pip installed:
    1. Unzip and extract the flake8.tgz file:

      tar xvfz flake8.tgz ~/flake8
    2. Change to the flake8 directory.

    3. Install the flake8 library with pip with the following command, replacing <version> with the correct version.

      python -m pip install flake8-<version>-py2.py3-none-any.whl -f ./ --no-index
      python3 -m pip install flake8-<version>-py2.py3-none-any.whl -f ./ --no-index

The Synthetic Server requires the libaio library to be on the system. This library facilitates asynchronous I/O operations on the system.

See How to Install libaio for instructions.

How to Install libaio 

Install libaio on the host machine if it does not already have it installed. You may require outbound internet access if you don't have a locally hosted repository.

The following table provides instructions on how to install libaio for some common flavors of the Linux operating system. Note that if you have a NUMA based architecture, you are required to install the numactl package.

Linux Flavor
Red Hat and CentOS

Use yum to install the library, such as:

  • yum install libaio
  • yum install numactl

Install the library RPM from the Fedora website:

  • yum install libaio
  • yum install numactl

Use apt-get, such as:

  • sudo apt-get install libaio1
  • sudo apt-get install numactl
DebianUse a package manager such as APT to install the library (as described for the Ubuntu instructions above).