Metric for application impact on network traffic

I am writing an application and I can set its bandwidth (the number of bits per second it sends over the cable) no matter what speed I want. However, I would like to set it as high as possible as long as other traffic on the network is not severely affected.

The problem is, I don't have a good metric to measure this impact. I thought of the following, but none of them are "complete":

  • Increased average latency for a packet
  • Increased packet loss
  • Jitter increase
  • Increased average time it takes for tcp transactions to complete (file uploads using http)

Is there any standard metric? Do you have any other ideas for measuring the impact of an application on a network?

btw - I have full control over the network and I can take any measurement I want to calculate this metric.

Thanks,

Rowley

+1


a source to share


3 answers


Different networks behave differently as you exceed their bandwidth. Most of them have a sequence of failures line by line:

  • Jitter will start shooting through the roof as some packets have to be queued or retransmitted (like collisions on half-duplex Ethernet or wireless). Average latency will increase slightly.
  • As the oversaturation continues (or at higher supersaturation levels), the average latency will go through the roof as almost all packets are queued or retransmitted. This can be limited if the queue sizes are small.
  • The packet loss will increase as the queues overflow. The more bandwidth you use, the more packets will be lost. Jitter and latency may or may not come back down depending on the hardware.


If some form of QoS is used, different packet streams can see these effects independently. For example, you can pump 3x the bandwidth in an application and see a relatively small change in ping times. Thus, you should measure your application packages.

(1) and (2) may not occur on a given network. (3) will always take place, no matter what. All three can, unfortunately, also occur even when you are nowhere near your bandwidth limit.

0


a source


Traffic Engineering is a rather complex field. Service quality is probably a good starting point for this problem.



0


a source


This is one of those questions that can be difficult to answer programmatically. The apps I've seen allow this kind of throttling, it has always been a configuration option. It is usually too difficult to know about your network of users, any assumptions you make are likely to be wrong.

0


a source







All Articles