cancel
Showing results for 
Search instead for 
Did you mean: 

How are the sa_mirror_server_status load_* columns calculated?

Breck_Carter
Participant
1,196

How are the load_* columns returned by the sa_mirror_server_status system procedure calculated?

load_current       DOUBLE  The amount of work that the database server is currently performing. 
load_last_1_min    DOUBLE  The amount of work that the database server has performed in the previous minute. 
load_last_5_mins   DOUBLE  The amount of work that the database server has performed in the previous 5 minutes. 
load_last_10_mins  DOUBLE  The amount of work that the database server has performed in the previous 10 minutes. 

Can these values be calculated for non-mirror databases?

Accepted Solutions (0)

Answers (1)

Answers (1)

MarkCulp
Participant

First note that the numbers are for servers not databases.

Here is how the numbers are calculated:

  • each server fires an internal event each second to capture and record the average load on the server during the past second (the load average is computed by the database server kernel - it basically sums up the number of active requests divided by the number of concurrent threads (i.e. cores) being used)
  • every few seconds the stats from each mirror server is sent to the server's parent (in the 'tree' of copy/mirror nodes); an intermediate node passes the data onto its parent, and the primary compiles the stats of all servers.
  • a call to sa_mirror_server_status simply returns the information that has been compiled.

If a server is not involved in any mirrored databases then calling sa_mirror_server_status will not return any useful information since there is no information being computed and accumulated.