AppDynamics switched from Semantic Versioning to Calendar Versioning starting in February 2020 for some agents and March 2020 for the entire product suite.

    Skip to end of metadata
    Go to start of metadata

    Related pages:

    Your Rating:
    1 Star2 Star3 Star4 Star5 Star
    24 rates

    This page lists the EUM Server requirements, offers sizing guidance, and shows you how to use configuration to modify the default settings. For additional EUM Processor sizing information, see Analytics' Recipe Book for on-prem configuration in the AppDynamics Community. 

    Hardware Requirements

    The requirements and guidelines for the EUM Server machine (basic usage) are as follows:

    • Minimum 50 GB extra disk space. See Disk Requirements Based on Resource Timing Snapshots to learn when more disk space is needed.
    • 64-bit Windows or Linux operating system
    • Processing: 4 cores
    • 10 Mbps network bandwidth
    • Minimum 8 GB memory total (4 GB is defined as max heap in JVM). See RAM Requirements Based on the Beacon Load to learn when more RAM is required.
    • NTP enabled on both the EUM Server host and the Controller machine. The machine clocks need to be able to synchronize.

    A machine with these specs can be expected to handle around 10K page requests a minute or 10K simultaneous mobile users. Adding on-premises Analytics capability requires increasing these requirements—particularly disk space—considerably, depending on the use case.

    RAM Requirements Based on the Beacon Load

    Beacons are sent to the EUM Server every 10 seconds, and each beacon can contain data for multiple events. You can configure the JavaScript Agent to limit the number of Ajax requests.

    The table below specifies the required RAM based on your beacon load per minute and lists the content of a typical beacon.

    Peak Beacons Per MinuteTypical Beacon CompositionRAM
    • 600 sessions
    • 1K base pages
    • 2K virtual pages
    • 7K Ajax requests
    8 GB
    • 1.8K sessions
    • 5K base pages
    • 10K virtual pages
    • 40K Ajax requests
    16 GB
    • 3.6K sessions
    • 8K base pages
    • 17K virtual pages
    • 62 Ajax requests
    16 GB
    • 3.9K sessions
    • 10K base pages
    • 20K virtual pages
    • 74K Ajax requests
    32 GB

    12K base pages

    32 GB

    Disk Requirements Based on Resource Timing Snapshots

    By default, the EUM Server accepts a maximum of 1K resource timing snapshots per minute and retains those snapshots for 15 days. On average, each snapshot takes 3 KB of disk space. 

    Because of the number of resource timing snapshots impact disk usage, you should follow the guidelines in the table below.

    Number of Resource Timing SnapshotsRecommended Disk Space
    ~500≥ 40 GB
    ~1000≥ 64 GB
    ~1500≥ 96 GB
    ~2000≥ 128 GB

    If needed, you can reduce the number of resource timing snapshots or reduce the disk space allotted for storing resource snapshots by doing one or more of the following:

    Filesystem Requirements

    The filesystem of the machine on which you install EUM should be tuned to handle a large number of small files. In practical terms, this means that either the filesystem should be allocated with a large number of inodes or the filesystem should support dynamic inode allocation. 

    Controller Version

    The AppDynamics Platform you use with the EUM server must have a supported Controller version installed. Controllers only work with the same or later versions of the EUM Server. For example, the 4.5 EUM Server works with the AppDynamics Controller version 4.5 or earlier.

    Open File Descriptor and User Process Limits

    On Linux, also ensure that open file descriptor and user process limits on the EUM Server machine are set to a sufficient value. For the EUM Server, the hard and soft limits should be as follows:

    • Open file descriptor limit (nofile): 65535
    • Process limit (nproc): 8192

    See "Configure User Limits in Linux" below for information on how to check and set user limits. 

    Configure User Limits in Linux

    The following log warnings may indicate insufficient limits:

    • Warning in database log: "Could not increase number of max_open_files to more than xxxx".
    • Warning in server log: "Cannot allocate more connections".

    To check your existing settings, as the root user, enter the following commands:

    ulimit -S -n
    ulimit -S -u

    The output indicates the soft limits for the open file descriptor and soft limits for processes, respectively. If the values are lower than recommended, you need to modify them. 

    Where you configure the settings depends upon your Linux distribution:  

    • If your system has a /etc/security/limits.d directory, add the settings as the content of a new, appropriately named file under the directory.
    • If it does not have a /etc/security/limits.d directory, add the settings to /etc/security/limits.conf
    • If your system does not have a /etc/security/limits.conf file, it is possible to put the ulimit command in /etc/profile. However, check the documentation for your Linux distribution for the recommendations specific for your system.  

    To configure the limits: 

    1. Determine whether you have a /etc/security/limits.d directory on your system, and take one of the following steps depending on the result:
      • If you do not have a /etc/security/limits.d directory:
        1. As the root user, open the limits.conf file for editing:

        2. Set the open file descriptor limit by adding the following lines, replacing <login_user> with the operating system username under which the EUM Server runs:

          <login_user> hard nofile 65535
          <login_user> soft nofile 65535
          <login_user> hard nproc 8192
          <login_user> soft nproc 8192
      • If you do have a /etc/security/limits.d directory:
        1. As the root user, create a new file in the limits.d directory. Give the file a descriptive name, such as the following: 

        2. In the file, add the configuration setting for the limits, replacing <login_user> with the operating system username under which the EUM Server runs: 

          <login_user> hard nofile 65535
          <login_user> soft nofile 65535
          <login_user> hard nproc 8192
          <login_user> soft nproc 8192
    2.  Enable the file descriptor and process limits as follows: 
      1. Open the following file for editing:

      2.  Add the line:

        session required
    3. Save your changes to the file. 

    When you log in again as the user identified by login_user, the limits will take effect.

    Network Settings

    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 on the EUM Server.

    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. 

    libaio Requirement

    The EUM processor requires the libaio library to be on the system. This library facilitates asynchronous I/O operations on the system. Note if you have a NUMA based architecture, then you are required to install the numactl package.

    Install libaio on the host machine if it does not already have it installed. The following table provides instructions on how to install libaio for some common flavors of the Linux operating system.

    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).
    • No labels