How does Bandwidth throttling and speed tests work?
ITMS 7.5, 7.6, 8.0, 8.1
Bandwidth throttling is configured on the NS Web admin console at 'Configuration > Altiris Agent > Altiris Agent Configuration' each of the four agent tasks, on the General tab under the Bandwidth/Throttling settings section.
Once bandwidth throttling has been configured, and the throttling configurations have been passed to the Altiris Agent machines, the Altiris Agent uses ICMP (ping) packets to perform the network connection speed tests. This is detailed below in the section Speed Testing Parameters. The returned speed test value is cached for a period of 6 hours.
Note: SMP 7.5 and later also uses HTTP ping to test connection. Speed test changes in 7.5 and later See for more details.
When there is a scheduled package download task, the Altiris Agent either retrieves the cached connection speed value or it will initiate a new network speed test, and the results will be cached for 6 hours. Once the 6-hour cache expires, the Altiris Agent will request another speed test profile once an advertisement execution or package download begins (see Speed Testing Triggers and Speed Testing Operations below).
When the Altiris Agent is asked to throttle, there are two throttling rules that can be configured:
When the Altiris Agent is instructed to perform a speed test by its configuration policy there are four triggers that can initiate the speed test:
Speed Tests are Directed Against Servers in the Following Manner:
Note! Speed testing does not mean packets go on the wire every time one of these decision points is reached. Review the speed test details below under Speed Testing Parameters. Whether it is for a package download or an advertisement execution, the speed testing process is the same.
Speed testing begins with the FQDN name for the server being targeted based on the codebase and the speed is discovered and set; the NetBIOS name is not tested but it set to the same speed. If the FQDN test fails then the NetBIOS name is tested, and the speed is discovered and set.
There are several throttle settings and parameters that need to be understood when ICMP traffic is disabled on the network. Activation of throttling by the Altiris Agent is based on the following options:
If ICMP traffic is disabled on the network, the option Throttle regardless of connection speed should be selected. If the option Enable throttling when connection speed is below… is selected when ICMP traffic has been disabled, by default throttling is set to 1 KB/sec because the connection speed cannot be verified.
So, threshold settings that are 1 KB/sec or above are always throttled, and the setting of 500 bytes/sec is never throttled.
The configurable values for throttling threshold are:
Once the throttling options are selected then the throttling limits come into effect. Again, these limits are:
When ICMP traffic is disabled on the network there is no need to initiate speed testing and Absolute throttling is the better choice. The bandwidth limit is already known and the Altiris Agent will throttle to that limit. If Relative throttling is selected, it will still act as an absolute limit as defaults to the option of 1 KB/sec.
Since network throughput is so critical, different Altiris Agent collections should be created based on network throughput. Altiris Agent machines can then be customized based on customized connectivity configurations.
Speed testing is a result of the Altiris Agent pinging the FQDN name for a server being targeted based on the defined codebase, and the speed is discovered and cached; the NetBIOS name is not tested but it set to the same speed. If the FQDN test fails then the NetBIOS name is tested, and the speed is discovered and set.
If the codebase request is to a server that has not been profiled for a connection speed before then a speed test is initiated.
Packets used: Five 1-byte packets and then thirty 400-byte packets. (Note: Older operating systems will only use five 400-byte packets.)
HKLM\SOFTWARE\Altiris\Communications\MaxServersToCheck (default 6, valid range is 1–100).
Description: Maximum numbers of servers to check
Values: If over 100 or under 0 then is set to 100; a value of 0 is set to 6
HKLM\SOFTWARE\Altiris\Communications\ IP Expiry (mins) (default 360, valid range is 1–10,080)
Description: Number of minutes before connectivity to a Host is retested
Values: If over 10,080 or under 0 then is set to10080; a value of 0 is set to 1.
HKLM\SOFTWARE\Altiris\Communications\SPEED Expiry(mins) (default 360)
SMP version 7.5 introduces HTTP Ping to measure network speed between client and server.
To calculate network speed client downloads 30KB page from server:
* from SMP: .../Altiris/NS/Agent/ConnectionTest.asp
* from Package Server: .../Altiris/PS/ConnectionTest.html
In case if SMP/Package Server has packages available via UNC, connection is tested using ICMP ping (detailed in the section Speed Testing Parameters).
Connection check information is also available in Symantec Management Agent logs as trace level events.
The default server (NS, PS or TS) ping interval is stored in registry:
HKEY_LOCAL_MACHINE\SOFTWARE\Altiris\Communications REG_DWORD, "Server Ping Timeout", 1800 seconds by default
This is 30 minutes, so each server will be pinged at least once each 30 minutes. Each ping is a single HEAD request.
Speed test frequency is specified by another registry entry:
REG_DWORD, "Speed Expiry (mins)", 360 minutes by default
This is 6 hours, so once in 6 hours a single ping is converted into "speed test", which is a GET request that downloads 30KB of data from the server to get rough idea is it better or worse than other servers.
Now there could be more pings when servers become available or not available. For example the server is not available and the last ping failed.
Despite that some plugin may still want to call the server via HTTP, if server call succeeds then the agent will ping the server to check that it is all right. Other case is when the server is available, someone making a web call to that server and the call fails, agent will ping the server to see if it is all right.
More details about network adapters, connections and server profiles are available via Symantec Management Agent Network Diagnostics.
To enable SMA diagnostics use following command line:
regsvr32 -s "c:\Program Files\Altiris\Altiris Agent\AeXAgentDiagnostics.dll"
Diagnostics window is available via right click on SMA system tray icon. Right click - Diagnostics - ...
Other items to consider:
1. Throttling does not work for UNC connections
2. HTTP and UNC use different speed tests methods. HTTP uses special 30KB page to measure the download speed. UNC uses ICMP ping to measure the speed.
Beginning with 8.1 version UNC also uses the same 30KB page to measure the download speed.
3. The measured speed is not the actual speed, it's just some approximate number that can be used to compare few HTTP servers and few UNC servers and select the fastest amongst them. UNC servers have priority while downloading, so UNC servers are usually tried first during package downloads.
Subscribing will provide email updates when this Article is updated. Login is required.
Thanks for your feedback. Let us know if you have additional comments below. (requires login)
This will clear the history and restart the chat.