Server Work Queues Object

Applies To: Windows Server 2003, Windows Server 2003 R2, Windows Server 2003 with SP1, Windows Server 2003 with SP2

The Server Work Queues performance object consists of counters that monitor the length of queues and objects in the queues.

Counter Name Description Counter Type

Active Threads

Shows the number of threads working on a request from the server client for this CPU. The system keeps this number as low as possible to minimize unnecessary context switching. This is an instantaneous count for the CPU, not an average over time.

PERF_COUNTER_RAWCOUNT

Available Threads

Shows the number of server threads on this processor that are not currently working on requests from a client. The server dynamically adjusts the number of threads to maximize server performance.

PERF_COUNTER_RAWCOUNT

Available Work Items

Shows the instantaneous number of available work items for this CPU. A work item is typically a request from a client to the server; the server maintains a pool of available work items per CPU to speed processing. A sustained near-zero value indicates the need to increase the MinFreeWorkItems registry value for the server service. This value is always zero in the Blocking Queue instance.

PERF_COUNTER_RAWCOUNT

Borrowed Work Items

Shows the number of free work items borrowed from another CPU because a CPU ran out of available work items in its pool. An increasing value of this running counter might indicate the need to increase the MaxWorkItems or MinFreeWorkItems registry values for the server service. This value is always zero in the Blocking Queue instance.

PERF_COUNTER_RAWCOUNT

Bytes Received/sec

Shows the rate, in incidents per second, at which the server received bytes from the network clients on this CPU. This value is a measure of how busy the server is.

PERF_COUNTER_BULK_COUNT

Bytes Sent/sec

Shows the rate, in incidents per second, at which the server sent bytes to the network clients on this CPU. This value is a measure of how busy the server is.

PERF_COUNTER_BULK_COUNT

Bytes Transferred/sec

Shows the rate, in incidents per second, at which the server exchanged bytes with the network clients on this CPU. This value is a measure of how busy the server is.

PERF_COUNTER_BULK_COUNT

Context Blocks Queued/sec

Shows the rate, in incidents per second, at which work context blocks have to be placed on the server's file system process queue to await server action.

PERF_COUNTER_COUNTER

Current Clients

Shows the current count of the clients being processed by this CPU. The server actively balances the client load across all of the CPUs in the system. If a single work queue can easily and quickly handle all the requests from clients, the clients might not be spread across multiple queues until a higher load is encountered. This value is always zero in the Blocking Queue instance.

PERF_COUNTER_RAWCOUNT

Queue Length

Shows the current length of the server work queue for this CPU. A sustained queue length greater than four might indicate processor congestion. This is an instantaneous count, not an average over time.

PERF_COUNTER_RAWCOUNT

Read Bytes/sec

Shows the rate, in incidents per second, at which the server read data from files for the clients on this CPU. This value is a measure of how busy the server is.

PERF_COUNTER_BULK_COUNT

Read Operations/sec

Shows the rate, in incidents per second, at which the server performed file read operations for the clients on this CPU. This value is a measure of how busy the server is. This value is always zero in the Blocking Queue instance.

PERF_COUNTER_BULK_COUNT

Total Bytes/sec

Shows the rate, in incidents per second, at which the server read and wrote data to and from the files for the clients on this CPU. This value is a measure of how busy the server is.

PERF_COUNTER_BULK_COUNT

Total Operations/sec

Shows the rate, in incidents per second, at which the server performed file read and write operations for the clients on this CPU. This value is a measure of how busy the server is. This value is always zero in the Blocking Queue instance.

PERF_COUNTER_BULK_COUNT

Work Item Shortages

Shows the number of times that a work item was not available or could not be allocated to service the incoming request. A work item is the location where the server stores a server message block (SMB). The amount of work items available fluctuates between a minimum and maximum value configured, based on how the server is configured and the amount of memory on the computer. If work item shortages are occurring, it might be caused by an overloaded server. If the Work Item Shortages counter value is increasing, consider changing the value of the registry entry HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\Maxworkitems. Allowing this value to be achieved consistently initiates flow control, which hurts performance. This value is always zero in the Blocking Queue instance.

PERF_COUNTER_RAWCOUNT

Write Bytes/sec

Shows the rate, in incidents per second, at which the server wrote data to files for the clients on this CPU. This value is a measure of how busy the server is.

PERF_COUNTER_BULK_COUNT

Write Operations/sec

Shows the rate, in incidents per second, at which the server performed file write operations for the clients on this CPU. This value is a measure of how busy the server is. This value is always zero in the Blocking Queue instance.

PERF_COUNTER_BULK_COUNT