A customer had a question in regards to how we select the “best” / “closest” package server in a Site.
The administrator had the following use case:
Based on what we were told in the past, the agent logs show what we are expecting as far as choosing randomly a package server (in this example the “closest” (the one that resides in the same subnet) package server is: SMPSS801 but the one selected is UEGSMPSS801):
Entry 1:
GetPackageLocalSources: Locally installed Package Server not found
--------------------------------------------------------------------------------------
Entry 2:
GetBestServer: Candidate 0-0:
'https://SS-TS1.example.com/Altiris/PS/Share/pkggroup_%7Bf6757252-8a55-
4aaa-aee0-9cde11724228%7D/%7B0CBFBD76-10E3-4ED8-9A17-544829F82FB0%7D/cache',
error rate: 0.000000, remote, connections total 0, connections failed 0
--------------------------------------------------------------------------------------
Entry 3:
GetBestServer: Candidate 9-26:
'https://SMPSS801.example.com/Altiris/PS/Share/pkggroup_%7B25af1c56-2b68-4858-
8d9c-0601a6aee2b6%7D/%7B0CBFBD76-10E3-4ED8-9A17-544829F82FB0%7D/cache',
error rate: 0.000000, remote, connections total 0, connections failed 0
--------------------------------------------------------------------------------------
Entry 4:
SelectServer: trying source list 0:
https://SS-TS2.example.com/Altiris/PS/Share/pkggroup_%7Bf6757252-8a55-
4aaa-aee0-9cde11724228%7D/%7B0CBFBD76-10E3-4ED8-9A17-544829F82FB0%7D/cache
https://SS-TS1.domain.com/Altiris/PS/getpackagesnapshot.asp 104857600
--------------------------------------------------------------------------------------
Entry 4:
GetBestServer: Selected server [0]
https://SS-TS3.example.com/Altiris/PS/Share/pkggroup_%7Bf6757252-8a55-
4aaa-aee0-9cde11724228%7D/%7B0CBFBD76-10E3-4ED8-9A17-544829F82FB0%7D/cache.
This has been chosen randomly from the available servers with the fewest recent errors.
--------------------------------------------------------------------------------------
Entry 6:
SelectServer: selected package url:
https://SS-TS4.example.com/Altiris/PS/Share/pkggroup_%7Bf6757252-8a55-
4aaa-aee0-9cde11724228%7D/%7B0CBFBD76-10E3-4ED8-9A17-544829F82FB0%7D/cache
--------------------------------------------------------------------------------------
Entry 7:
Download package '{0CBFBD76-10E3-4ED8-9A17-544829F82FB0}' from'
https://SS-TS5.example.com/Altiris/PS/Share/pkggroup_%7Bf6757252-8a55-
4aaa-aee0-9cde11724228%7D/%7B0CBFBD76-10E3-4ED8-9A17-544829F82FB0%7D/cache',
local blocks: 0/23, server blocks: 0/0
--------------------------------------------------------------------------------------
The question that remained with the SMP administrator was:
What do we do in ITMS to define the “GetBestServer”?
-and-
What does this “This has been chosen randomly from the available servers with the fewest recent errors” mean while selecting “GetBestServer”?
ITMS 8.5 and later
Customer Education
There is a misconception that we think the "faster server is always selected" for download. The agent is in charge of selecting from available codebases from the list of available package servers. If some agents need to be restricted in selection, then this should be done on the Management console (manual assignment). Also, remember that “Since in 8.5 we don't do speed tests anymore, the speed will be measured while the download in real-time, thus the selection of the server for download will be even more wide.”
The "error count" is a couple of connection statistics which you can see in "candidates" traces: "connections total 0, connections failed 0". In this example above, they both have the zero - which means both are in the list of "fewer recent errors".
Since currently we don't have any information regarding the sites on the client side, the PS was selected randomly from that list. The Agent only is choosing the codebase from the list it receives as an answer to GetPackageInfo.aspx request.
Note:
The selection by speed is there, it is just the speed is measured not by ConnectionTest.aspx calls but during the real file transfer from Package Servers.
As well, Symantec Management Agent does not have any geo selection of servers, the server with “better” numbers will win, it could be any server in the site to which the client resides.
---------------------------------------------------------------------------------------------------------------
So, at this point it is working as expected and the current way to force a package server to serve specific subnets is to manually assign them.
Otherwise we go over the list of available package servers and pick randomly from what are the best ones based on connection statistics done in real-time.