Several years ago I got a call about a problem with some relatively unburdened servers that had low Server Availability Indexes (SAI). At the time, there really was no simple documentation on how to set this appropriately to yield the desired SAI, so a common approach was to keep setting the Serv
er_Transinfo_Range notes.ini parameter to successively high values until the problem of low SAI went away. This is not a good approach, however, because setting Server_Transinfo_Range too high will result in a server that never thinks it is busy, even when it should.
Here are the instructions we've had for years for tuning SAI:
1. During a period of heavy usage, monitor the expansion factor on your
server. You can use the console command "show stat
server.expansionfactor" to do this. You can also monitor performance
statistics during these periods. Record enough values for the expansion
factor during heavy usage so that you can determine the expansion
factor value for a fully loaded server.
2. Determine a value for SERVER_TRANSINFO_RANGE so that 2 raised to the
power of that value results in the expansion factor value you chose in
step 1.
While accurate, many people find these instructions a bit confusing, so I created a table that you can use to make this very easy. Just track the Server.ExpansionFactor statistic for periods of heavy usage and determine what you want the SAI to read for those periods. Find the closest ExpansionFactor in the table and trace left to your desired SAI. If it is not there, find the two numbers closest to your target. Then trace up to the corresponding value you need to set for Server_Transinfo_Range. Hopefully this will make tuning an appropriate SAI much easier for you.
Comments (0)