AppDynamics Application Intelligence Platform

3.8.x Documentation

PDFs

Videos

Release Notes

The AppDynamics Controller

The AppDynamics Controller is the central management server where all data is stored and analyzed. The Controller serves the Flash-based user interface (UI). All AppDynamics Agents connect to the Controller to report data.

The Controller uses an embedded Glassfish application server and an embedded MySQL database. It has a browser-based Administration interface for various system parameters.

The Controller installer ships with and automatically installs all of its required software. You do not need any additional software to install the AppDynamics Controller.

Controller System Requirements

Controller Operating System Requirements

The Controller is supported on the following Operating Systems:

Linux (32 and 64-bit)

Microsoft Windows (32 and 64-bit)

  • Red Hat Enterprise Linux (RHEL) 6.1, 6.2; New in 3.8.3: RHEL 6.3, 6.4, and 6.5.
  • CentOS 6.1, 6.2; New in 3.8.3: CentOS 6.3, 6.4, and 6.5.
  • Fedora 14
  • Ubuntu 8, 12
  • Open SUSE 11.x
  • SUSE Linux Enterprise Server
  • Cloud: Amazon EC2, Rackspace, Azure
  • Windows Server 2003
  • Windows Server 2008, Windows Server 2008 R2
  • Windows Server 2012 R1 Standard and Datacenter, Windows Server 2012 R2 Standard and Datacenter
  • Windows 7 Pro
  • Windows 8

Supported Web Browsers for the Controller UI

The AppDynamics UI works best with the latest version of any modern browser along with the latest version of Flash. The Controller UI has been tested with the following browsers and versions:

  • IE 9+
  • Safari 6+
  • Chrome 16+
  • Firefox 6+
    Opera and older versions of Firefox, IE, and Safari browsers may still operate well but some features may not display as intended.

The Controller UI requires Flash Player 10 or greater; AppDynamics recommends version 11.

LDAPv3 Support

You can use an external directory server to authenticate and authorize user access to the Controller UI. The Controller works with directory servers that comply with LDAP (Lightweight Directory Access Protocol) version 3. While the Controller should be able to work with any LDAPv3-compliant server, it has been verified against these LDAP products:

  • Microsoft Active Directory for Windows Server 2008 SP2+
  • OpenLDAP, 2.4+

Controller Hardware Requirements

The Controller performs large-scale real-time data analysis and correlation supporting multiple agents at any given time. It constantly persists large amounts of data to the storage system. For the Controller to be responsive, it must have appropriate hardware. Use these recommendations in the performance profiles to determine the hardware needed for your Controller. 

(info) These recommendations represent a good starting point only, your requirements may vary depending on the number of metrics per minute generated in your environment.

Use Dedicated Hardware for the Controller

AppDynamics strongly recommends that you install the Controller on a dedicated machine. The hardware requirements described in this document assume that no other major processes are running on the machine where the Controller is installed. A Controller with more than 250 nodes must run on a dedicated machine.

For information about using a Virtual Machine for the Controller, see Running the Controller on Virtual Machines.

Controller Performance Profiles

Size the Controller hardware requirements using a performance profile based on the number of nodes in your environment and the number of metrics per minute being reported to the controller. For general information about applications and nodes, see Logical Model.

The Controller performance profiles are based on the number of nodes. When the number of app servers is static, it is easy to determine. However, WebSphere on z/OS, dynamic cloud environments, and .NET environments dynamically spawn new agents. For z/WebSphere and clouds you need to consider historic data to estimate the correct sizing. For .NET see Calculating Performance Profiles for a .NET Environment.

Controller Performance Profile

Number of Nodes*

Number of Business Apps

Recommended for VMs

Demo

Up to 5

1

OK

Small

Up to 10

1

OK

Medium

Up to 50

5

OK

Large

Up to 250

5

Not supported**

Extra Large****

250-500

20

Not supported**

Custom - Contact Support or TAM****

Over 500

Over 20

Not supported**

* In a Java environment there is usually one AppDynamics App Agent for Java per node. In contrast, one AppDynamics App Agent for .NET  may support multiple nodes. See Calculating Performance Profiles for a .NET Environment to arrive at the number of nodes for a .NET environment.
** AppDynamics neither recommends nor supports Large or Extra Large deployments in virtual environments.
*** For configuration information applicable to deployments in the Extra Large performance profile and larger (500+ nodes), see Configuring a Controller Environment for the Large Enterprise.

Calculating Performance Profiles for a .NET Environment

The .NET Agent dynamically creates nodes depending on the monitored application's configuration in the IIS server. An IIS server can create multiple instances of each monitored IIS application. For every instance the .NET Agent creates a node. For example, if an IIS application has 5 instances the .NET Agent will create 5 nodes.

The maximum number of instances of a particular IIS application is determined by the number of worker processes configured for its application pool. Consider the following diagram:

The diagram shows three application pools: AppPool-1, AppPool-2, and AppPool-3 with the following characteristics:

  • AppPool-1 and AppPool-3 can have a maximum of two worker processes (known as a web garden)
  • AppPool-2 can have one worker process

If applications are assigned to application pools as follows:

AppPool-1: AppA and AppB

AppPool-2: AppC, AppD and AppE

AppPool-3: AppF

Use the following formula to estimate the number of nodes:

AppPool-1 * number of applications * max number of worker processes
+
AppPool-2 * number of applications * max number of worker processes
+
AppPool-3 * number of applications * max number of worker processes
= Number of Nodes

In this case the numbers would be:

AppPool-1 nodes = 4 (2 applications * 2 worker processes)

AppPool-2 nodes = 3 (3 applications * 1 worker process)

AppPool-3 nodes = 2 (1 application * 2 worker processes)

for a total of 9 nodes.

To find the number of CLRs that will be launched for a particular .NET Application / App Pool:

  1. Open the IIS manager and see the number of applications assigned to that AppPool.
  2. Check if any AppPools are configured to run as a Web Garden. This would be a multiplier for the number of .NET nodes coming from this AppPool as described above.

Also see: http://technet.microsoft.com/en-us/library/cc725601(v=ws.10).aspx.

Hardware Requirements per Performance Profile

For larger deployments with hundreds of nodes, sizing the hardware for a Controller depends upon the number of agents and the complexity of your business transactions. The number of metrics can become very large. The following recommendations are a starting point.

Controller
performance
profile

Supported OS platforms

CPU # of cores

RAM

Disk storage

Disk I/O
write/read/random read

Agent Count*

Metrics Count/minute

Demo

Linux (32 & 64-bit)
Windows (32 & 64-bit)

2 CPU Cores 
1.5 GHz minimum

2 GB

50 GB

50 MB/sec
50 MB/sec
1.5 MB/sec

up to 5

5 K max

Small

Linux (32 & 64-bit)
Windows (32 & 64-bit)

4 CPU Cores 
1.5 GHz minimum

4 GB

100 GB

50 MB/sec
50 MB/sec
1.5 MB/sec

6-10

25 K  max

Medium

Linux (64-bit)
Windows (64-bit)

8 CPU Cores 
3.3 GHz minimum

16 GB

4,000 GB 

60 MB/sec
60 MB/sec
1.6 MB/sec

11-50

250 K max

Large

Linux (64-bit)
Windows (64-bit)

24 CPU Cores
2.5 GHz minimum

32 GB RAM

5,000 GB

100 MB/sec
100 MB/sec
3 MB/sec

51-250

512 K max

Extra Large**

Linux (64-bit)

24 CPU Cores 
2.5 GHz minimum

64 GB RAM

10,000 GB

125 MB/sec
125 MB/sec
5 MB/sec

251-500

1 Million max

* Also see Controller Performance Profiles. The agent count requirements do not reflect the use of End User Monitoring (EUM). See Additional Sizing Considerations for more information about EUM. 
** When sizing in the Extra Large profile range or higher, contact your AppDynamics Technical Account Manager or the AppDynamics Support Team for assistance.

For information on hardware requirements for AppDynamics for Databases, see AppDynamics for Databases, Hardware Requirements.

(warning) The Demo profile is only for demonstration and evaluation environments and is not suited for production installations.

Additional Disk I/O Information

The AppDynamics Controller always writes and reads using the following block sizes:

  • Read block size: 16 K
  • Write block size: 64 K

When considering I/O requirements listed in Hardware Requirements per Performance Profile, keep in mind that while onboard disks typically satisfy the I/O requirements, in a SAN environment, the bottleneck in terms of I/O write and read speed becomes the latency between the CPU and the SAN-based storage. For information on I/O and off-board storage, see the next section, Off-Board Storage System Considerations

Off-Board Storage System Considerations

AppDynamics strongly recommends that you avoid installing the Controller or putting the Controller's data directory, db/data, on an NFS-mounted filesystem. NFS adds latency and throughput constraints that can affect Controller performance and even lead to data corruption.

Similarly, you should avoid iSCSI or other SAN technologies that are subject to quality of service issues from the underlying network.

For best performance, if not using on-board disk storage, consider using a robust Fiber Channel, FCoE, or iSCSI over 10Gbit Ethernet SAN. Whatever underlying technology you use, keep in mind that your system must provide disk data read and write speeds over the connection between the CPU and storage that are equivalent to the disk I/O requirements listed in Hardware Requirements per Performance Profile. In all cases, be sure to thoroughly load test the deployment with real-world traffic load before putting the Controller into a live environment.  

Additional Sizing Considerations

Monitoring asynchronous calls and using End User Monitoring (EUM) typically increases the number of metrics collected.  As a result:

  • The Small profile is not supported for installations with extensive async monitoring and/or use of EUM.
  • A Medium profile running 40+ agents may need to upgrade to a configuration closer to a Large profile if extensive async monitoring and/or EUM are added.

Asynchronous Call Monitoring

Monitoring asynchronous calls increases the number of metrics per minute to a maximum number of 23000 per minute. This does not apply for .NET environments because async monitoring is not supported for .NET.

End User Monitoring

The use of Web EUM in your applications can increase the number of metrics per minute by up to 22000 metrics.

The use of Mobile APM can increase the number of metrics per minute by as much as 15 to 25K per instrumented application if your applications are heavily accessed. The actual number depends on how many network requests your applications receive.

Linux file descriptor limit

For Linux environments, it is important to set the file descriptor limit to at least 65535. For more details see Configure File Descriptor Limits on Linux.

Running the Controller on Virtual Machines

The Controller can run on virtual machines, but with a few additional considerations: 

  • Large or extra large deployments in virtual machine environments are not supported.
  • The Controller license is bound to the MAC address of the host machine. To run the Controller on a virtual machine, you must ensure that the host virtual machine uses a fixed MAC address. 
  • The virtual machine that hosts the Controller must meet hardware resource requirements that are equivalent to physical machines, including I/O performance. 

To ensure that your virtualized storage subsystem is providing the required I/O capacity, run the following disk I/O rate tests.

To measure available Disk I/O

These tests write 32 GB of data to your disk and may take some time to complete. They produce numbers for write, rewrite, read, reread,random read, and random write.

  1. Download the free IOzone tool.
  2. Execute the following commands:

     

    For Linux

    For Windows

    Test for WriteSpeed

    /opt/iozone/bin/iozone -s 32000m -r 64k -i 0 -i 1 -w -f /<path-to-your-partition>/test1

    <path-to-your-partition>/Benchmarks/Iozone3.353/iozone -s 32000m -r64k -i 0 -i 1 -w -f test1

    Test for RandomRead

    /opt/iozone/bin/iozone -s 32000m -r 16k -i 2 -w -f /<path-to-your-partition>/test1

    <path-to-your-partition>/Benchmarks/Iozone3.353/iozone -s 32000m -r16k -i 2 -w -f test1

  3. Verify available disk I/O.

The results from these tests should match the Disk I/O requirements specified in Hardware Requirements Per Performance Profile.

Additional Requirements

In addition to the correct sizing of the hardware, special tuning of the operating system, the Glassfish application server, the MySQL as well as the Controlleritself  is required for very large installations, as detailed in Configuring a Controller Environment for the Large Enterprise.

Learn More