Network bandwidth best practices

Network bandwidth is difficult to estimate because it heavily depends on the type of instrumentation. For example, large attachments such as stack traces collected with exceptions or SQL statements cause much more traffic than simple PurePath nodes.

In typical scenarios, every 500 tps sent from a Collector to an AppMon Server contributes 8 MBit/sec (1 MByte/sec) of upstream bandwidth. The downstream is negligible in comparison. Using compression reduces this value by a factor of approximately 4, but be aware of increased CPU demand on the Collector and AppMon Server when compression is used.

For example:

Network bandwidth from AppMon Collector to AppMon Server

Transactions Network Bandwidth Network Bandwidth (compressed)
500 tps 8 MB/sec 2,000 kBit/sec
1,000 tps 16 MB/sec 4,000 kB/sec
2,000 tps 32 MB/sec 8 MB/sec

If using a WAN connection, you should always verify these estimates after deployment.

Also, consider that for your configuration:

  • The network between the Agent and Collector needs low latency.
  • The network between the Server and Collector needs high bandwidth.

If you need to put an AppMon Collector on the application hardware itself (not recommended), make sure you have enough bandwidth to share, or, perhaps better, have a separate network interface for the AppMon Collector.

How to measure the available bandwidth

The question now is how can I find out the available bandwidth for my current environment? Use jPerf to determine the available bandwidth between components. jPerf is a modern alternative for measuring TCP and UDP bandwidth performance. You can use the jPerf Java-based client, which has a simplistic but easy to use UI. The results display in the graph on the right side.

To measure bandwidth between all components, you must install the server part of jPerf. For example, to measure the bandwidth between the Collector and Server, install the jPerf server on the Collector or on the AppMon Server. For the component on which you do not install the jPerf server, use the graphical jPerf application to run the test. It is recommended to install the iPerf server on the AppMon Server, so you can run the test without installing iPerf on every component.

jPerf Network Performance Measurement Tool
jPerf Network Performance Measurement Tool

Download jPerf to run your own bandwidth test

**iPerf Server: ** Download jPerf

jPerf Graphical UI for iPerfDownload jPerf