PathTest is a powerful load generation tool used to examine the network capacity between two endpoints on a LAN or WAN link. With PathTest, it is possible to accurately measure the available ICMP, UDP and/or TCP capacity and analyze the behavior of a network under different traffic loads.

While the Delivery monitoring tools that run by default (Continuous Path Analysis (CPA) and Diagnostics) measure the capacity of a network path, they do this by sending relatively small packet trains and then calculate the path’s capacity based on the dispersion between the packets on the receiving end. Because they create very little load, it is possible that the network will behave differently (provide a lower capacity) once it is actually loaded. For example, carriers use a variety of techniques for shaping and policing network traffic, some of which are only clearly evident under load. PathTest can be used to generate a load that triggers these shaping and policing techniques and then measure the capacity of the network under load.

Examples of how you can use PathTest include:

  • Verify that a link can achieve the capacity provisioned by your ISP.
  • Generate traffic with a QoS DSCP marking to verify or stress a traffic engineering strategy. This can be used to confirm that traffic with a given DSCP marking is given priority over best-effort traffic.
  • When separate bandwidth is allocated to data and voice, use PathTest to stress the network with data and voice traffic.

Caution: While this flooding technique produces accurate results, be aware that it can have a significant impact on the available network capacity for the duration of the test.

Note: For cases where you need to measure capacity over time, you can use rate-limited monitoring. Rate-limited monitoring is similar to PathTest in that it loads the network while testing, but instead of a single measurement, it makes measurements at regular intervals over time. Open a support ticket with Customer Care if you want to enable Rate-limited monitoring.

Things to keep in mind

  • Networks treat different traffic types in different ways.
    • For example: data vs voice, protocol used (ICMP, UDP, TCP), and QoS type.
    • Use PathTest to see how the network behaves using the traffic type(s) expected on it.
  • Networks can be provisioned asymmetrically.
    • For example: Uplink capacity lower than downlink capacity.
  • There can be a large discrepancy between a test using UDP and the same test using TCP.
    • This is due to TCP’s flow control mechanism as well as the affect of packet loss and retransmissions on TCP. It can also be due to the distance between source and target as Round-trip Time (RTT) plays a significant role in TCP networks.
    • This can be addressed by running more than one stream when using TCP. Set bandwidth to maximum expected capacity (e.g., 1000Mbps) and run a test. Then, gradually increase the number of streams (e.g., 5, 10, …) and decrease the bandwidth proportionately (e.g., 200Mbps, 100Mbps, …) until UDP tests and TCP tests show the same results.
  • The number of packets seen in a packet capture will be less than the number actually sent on the network by PathTest.
    • By default, at the driver level, PathTest sends multiple copies of a packet “on the wire”. This means that a packet capture will show only a small percentage of the traffic actually sent on the network by PathTest. For example, on physical monitoring points the multiple is 20. So 20 packets are sent on the wire for every one seen in a packet capture.
  • For PathTest using UDP:
    • PathTests using UDP are the best way to test general network capacity.
      • UDP is considered true data traffic (unlike ICMP which is considered control traffic) and it doesn’t have flow control and retransmissions like TCP.
    • The target must be a monitoring point or an AppNeta WAN Target.
    • Tests are unidirectional.
      • Inbound tests are started after outbound tests complete.
  • For PathTest using TCP:
    • PathTests using TCP are the best way to test the capacity of networks carrying TCP traffic.
      • As TCP uses flow control and retransmissions (unlike UDP and ICMP), the PathTest results can show a lower capacity than with UDP. The results, however, will show the true capacity to carry TCP traffic.
    • Test with multiple PathTest streams to better saturate the network with TCP traffic.
    • The target must be a monitoring point or an AppNeta WAN Target.
    • Tests are unidirectional.
      • Inbound tests are started after outbound tests complete.
  • For PathTest using ICMP:
    • ICMP is considered control traffic rather than true data traffic (like UDP and TCP).
      • Control traffic is treated differently than data traffic by network equipment.
    • The target does not need to be a monitoring point or an AppNeta WAN Target.
      • Use PathTest with ICMP when you don’t have a monitoring point at the far end of the path.
      • For PathTests using ICMP, tests are more accurate with a monitoring point on the far end.
    • Tests are bidirectional.
      • The source sends packets and the target simply replies.

Run a PathTest

To run a basic PathTest using UDP:

  1. In APM, change organization to the one containing the monitoring point you want to run the PathTest from.
  2. Navigate to Delivery > Path Plus.
  3. Click the PathTest tab.
  4. In the PathTest Settings pane:
    1. Select Data.
    2. Set Source to the source monitoring point.
    3. Set Target to the target monitoring point or AppNeta WAN Target.
    4. Set Protocol to UDP.
    5. Set Direction to Both (Sequential).
    6. Set Bandwidth to Max.
    7. Click Run Test.
      • Observe the results when the test finishes.