|
MTP/IP is designed to provide optimal network performance under a wide variety of network conditions. Because most network resources are shared amongst many users and applications, "optimal" does not always mean "maximum". By default, MTP/IP tries to strike a balance between its own speed and fairness to other data flows. It also has a number of features which allow you to fine-tune this balance and set specific bandwidth priorities.
This technical note explains the more common bandwidth management features which allow you to control how MTP/IP performs relative to other network traffic. For details on how to access these features in a specific MTP/IP application, refer to that product's documentation.
MTP/IP's flow-control algorithms seek to balance a maximum sustainable rate of data flow with minimal disruption to the network. You can control how much disruption MTP/IP will permit by choosing an Aggression level.
For most MTP/IP applications, Aggression is specified as an integer between -3 and 4. A higher aggression may improve performance at the expense of third-party traffic. A lower aggression will reduce MTP performance, giving greater preference to third-party traffic.
Of all the bandwidth management features, Aggression provides the most flexibility and scalability, but is also the least specific.
When set, MTP/IP will not permit a transaction to exceed the given number of kilobytes per second. This allows you to ensure that no one transaction uses more than the specified bandwidth. Some MTP/IP servers also allow you to set a maximum total data rate for all incoming and/or outgoing traffic. This allows you to ensure that no one application uses more than the specified bandwidth.
Setting the MaxRate to less than the known available bandwidth ensures that the remainder is available to other transactions or applications. It can also provide a work-around if you have network hardware with limited capacities.
Of all the bandwidth management features, MaxRate is least flexible and scalable because it requires specific knowledge of the network capacities.
When set, MTP/IP will throttle back its data flow whenever the round-trip delay of the network path exceeds the specified number of milliseconds. This allows you to ensure that MTP will not cause network latency to become excessive.
MaxRTT is recommended if you are running applications which are sensitive to high latency. For example, if you are running voice-over-IP or video streaming across the same path as your MTP/IP transactions, setting MaxRTT will minimize MTP/IP's impact on those applications.
MaxRTT can also be used to prioritize other traffic above MTP/IP in a manner more scalable than MaxRate.
Under most circumstances, larger network datagrams produce more efficient data flows. MTP/IP attempts to discover the largest datagram that each network path will support. It does this very quickly and very conservatively, so it will make the right choice in correctly functioning network environments.
Some network hardware may permit large datagrams, but then behave erratically or suffer degraded performance. For example, some high-security encrypted VPNs are known to suffer poor performance or even crash when exposed to large datagrams. If you know or suspect that you have network hardware that is sensitive in this way, setting MaxDatagram will cause MTP/IP to avoid using any datagrams larger than the given number of bytes.
Recommended values to try are 1424 or 520.
MTP/IP is normally able to detect the latency of a path with little to no overhead or data duplication, even in very high-latency environments. But if the base latency of a path is known to be over 500 milliseconds, you may gain some performance advantage by notifying MTP of this condition.
This value should be set to the smallest observable round trip time of the path, as measured when the path is otherwise idle.
Many MTP/IP applications allow you to set features based on the DNS name or IP address of the client or server being used. This allows you to tune the values above based on the different characteristics of different systems and network paths.
Refer to each application's documentation for details. In most cases, you can find this listed as the "Site" variable of the configuration file.
Additional, more obscure, performance settings are available in MTP/IP. Most of these are accessible only through the Software Development Kits. If there is a specific bandwidth management or performance tuning feature you need, please let us know.
|