|
MSExchangeAL Performance Counter MSExchangeIS Performance Counter MSExchangeISMailbox Performance Counter
MSExchangeAL Performance Counter The Recipient Update Service (RUS) plays a crucial role in the day-to-day operations of Exchange 2000 because it is responsible for keeping e-mail addresses and membership of address lists up to date.
You should measure the Address List Queue Length when examining the RUS:
- Address List Queue Length - shows the load the Recipient Update Service is under. If this value is consistently high compared to your baseline, you should seriously consider upgrading the server that has this role, or transferring the role from a weak or overloaded server to a more powerful one.
On Error Resume Next
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_PerfRawData_MSExchangeAL_MSExchangeAL",,48)
For Each objItem in colItems
Wscript.Echo "ActiveAddressListThreads: " & objItem.ActiveAddressListThreads
Wscript.Echo "ActiveRecipientThreads: " & objItem.ActiveRecipientThreads
Wscript.Echo "AddressListModifications: " & objItem.AddressListModifications
Wscript.Echo "AddressListsQueueLength: " & objItem.AddressListsQueueLength
Wscript.Echo "Caption: " & objItem.Caption
Wscript.Echo "Description: " & objItem.Description
Wscript.Echo "Frequency_Object: " & objItem.Frequency_Object
Wscript.Echo "Frequency_PerfTime: " & objItem.Frequency_PerfTime
Wscript.Echo "Frequency_Sys100NS: " & objItem.Frequency_Sys100NS
Wscript.Echo "LDAPModifycalls: " & objItem.LDAPModifycalls
Wscript.Echo "LDAPModifycallsPersec: " & objItem.LDAPModifycallsPersec
Wscript.Echo "LDAPModifyfailures: " & objItem.LDAPModifyfailures
Wscript.Echo "LDAPModifyfailuresPersec: " & objItem.LDAPModifyfailuresPersec
Wscript.Echo "LDAPResults: " & objItem.LDAPResults
Wscript.Echo "LDAPResultsPersec: " & objItem.LDAPResultsPersec
Wscript.Echo "LDAPSearchcalls: " & objItem.LDAPSearchcalls
Wscript.Echo "LDAPSearchcallsPersec: " & objItem.LDAPSearchcallsPersec
Wscript.Echo "Name: " & objItem.Name
Wscript.Echo "RecipientModifications: " & objItem.RecipientModifications
Wscript.Echo "RecipientsPersec: " & objItem.RecipientsPersec
Wscript.Echo "RecipientsQueueLength: " & objItem.RecipientsQueueLength
Wscript.Echo "Timestamp_Object: " & objItem.Timestamp_Object
Wscript.Echo "Timestamp_PerfTime: " & objItem.Timestamp_PerfTime
Wscript.Echo "Timestamp_Sys100NS: " & objItem.Timestamp_Sys100NS
Next
MSExchangeIS Performance Counter For this object, monitor the following counters:
- User Count – This displays the number of people currently using the Information Store (not the number of connections). It is impossible to properly judge the performance of a server running Exchange unless you know how many people are using it.
- RPC Requests – This shows the number of client requests currently being processed by the store. You should expect this figure to be fairly small, typically below 25. If it is consistently higher than this, your server is overloaded.
On Error Resume Next
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_PerfRawData_MSExchangeIS_MSExchangeIS",,48)
For Each objItem in colItems
Wscript.Echo "ActiveAnonymousUserCount: " & objItem.ActiveAnonymousUserCount
Wscript.Echo "ActiveConnectionCount: " & objItem.ActiveConnectionCount
Wscript.Echo "ActiveUserCount: " & objItem.ActiveUserCount
Wscript.Echo "AnonymousUserCount: " & objItem.AnonymousUserCount
Wscript.Echo "AppointmentInstanceCreationRate: " & objItem.AppointmentInstanceCreationRate
Wscript.Echo "AppointmentInstanceDeletionRate: " & objItem.AppointmentInstanceDeletionRate
Wscript.Echo "AppointmentInstancesCreated: " & objItem.AppointmentInstancesCreated
Wscript.Echo "AppointmentInstancesDeleted: " & objItem.AppointmentInstancesDeleted
Wscript.Echo "Caption: " & objItem.Caption
Wscript.Echo "ConnectionCount: " & objItem.ConnectionCount
Wscript.Echo "DatabaseSessionHitRate: " & objItem.DatabaseSessionHitRate
Wscript.Echo "DatabaseSessionHitRate_Base: " & objItem.DatabaseSessionHitRate_Base
Wscript.Echo "Description: " & objItem.Description
Wscript.Echo "FBPublishCount: " & objItem.FBPublishCount
Wscript.Echo "FBPublishRate: " & objItem.FBPublishRate
Wscript.Echo "Frequency_Object: " & objItem.Frequency_Object
Wscript.Echo "Frequency_PerfTime: " & objItem.Frequency_PerfTime
Wscript.Echo "Frequency_Sys100NS: " & objItem.Frequency_Sys100NS
Wscript.Echo "MaximumAnonymousUsers: " & objItem.MaximumAnonymousUsers
Wscript.Echo "MaximumConnections: " & objItem.MaximumConnections
Wscript.Echo "MaximumUsers: " & objItem.MaximumUsers
Wscript.Echo "Name: " & objItem.Name
Wscript.Echo "PeakPushNotificationsCacheSize: " & objItem.PeakPushNotificationsCacheSize
Wscript.Echo "PushNotificationsCacheSize: " & objItem.PushNotificationsCacheSize
Wscript.Echo "PushNotificationsGeneratedPersec: " & objItem.PushNotificationsGeneratedPersec
Wscript.Echo "PushNotificationsSkippedPersec: " & objItem.PushNotificationsSkippedPersec
Wscript.Echo "ReadBytesRPCClientsPersec: " & objItem.ReadBytesRPCClientsPersec
Wscript.Echo "RecurringAppointmentDeletionRate: " & objItem.RecurringAppointmentDeletionRate
Wscript.Echo "RecurringAppointmentModificationRate: " & objItem.RecurringAppointmentModificationRate
Wscript.Echo "RecurringAppointmentsCreated: " & objItem.RecurringAppointmentsCreated
Wscript.Echo "RecurringAppointmentsDeleted: " & objItem.RecurringAppointmentsDeleted
Wscript.Echo "RecurringAppointmentsModified: " & objItem.RecurringAppointmentsModified
Wscript.Echo "RecurringApppointmentCreationRate: " & objItem.RecurringApppointmentCreationRate
Wscript.Echo "RecurringMasterAppointmentsExpanded: " & objItem.RecurringMasterAppointmentsExpanded
Wscript.Echo "RecurringMasterExpansionRate: " & objItem.RecurringMasterExpansionRate
Wscript.Echo "RPCOperationsPersec: " & objItem.RPCOperationsPersec
Wscript.Echo "RPCPacketsPersec: " & objItem.RPCPacketsPersec
Wscript.Echo "RPCRequests: " & objItem.RPCRequests
Wscript.Echo "RPCRequestsPeak: " & objItem.RPCRequestsPeak
Wscript.Echo "SingleAppointmentCreationRate: " & objItem.SingleAppointmentCreationRate
Wscript.Echo "SingleAppointmentDeletionRate: " & objItem.SingleAppointmentDeletionRate
Wscript.Echo "SingleAppointmentModificationRate: " & objItem.SingleAppointmentModificationRate
Wscript.Echo "SingleAppointmentsCreated: " & objItem.SingleAppointmentsCreated
Wscript.Echo "SingleAppointmentsDeleted: " & objItem.SingleAppointmentsDeleted
Wscript.Echo "SingleAppointmentsModified: " & objItem.SingleAppointmentsModified
Wscript.Echo "Timestamp_Object: " & objItem.Timestamp_Object
Wscript.Echo "Timestamp_PerfTime: " & objItem.Timestamp_PerfTime
Wscript.Echo "Timestamp_Sys100NS: " & objItem.Timestamp_Sys100NS
Wscript.Echo "UserCount: " & objItem.UserCount
Wscript.Echo "WriteBytesRPCClientsPersec: " & objItem.WriteBytesRPCClientsPersec
Next
MSExchangeISMailbox Performance Counter MSExchangeIS Mailboxes and Public Folders:
- Send Queue Size – This shows the queue of messages outbound from the Information Store. In situations where the SMTP service is down or there is a reduction in performance, you will see a nonzero value for this queue. On large busy systems (2000 users or more) you may never see this value at zero, but on smaller ones (500 or so medium users) you would not expect to see nonzero values for any significant period of time.
- Messages Sent/Min – This shows the rate at which messages are sent to the transport. This figure being low is not a problem in itself, but if the Send Queue Size is nonzero and the value is still low compared to your baseline, then there are performance issues that need to be resolved (you will only be able to tell what these are by monitoring other Exchange 2000 Server and Windows 2000 counters);
- Received Queue Size – This shows the queue of messages inbound to the Information Store. Unlike the Send Queue size, this is often nonzero, except on a bridgehead server with no local mailboxes. However, if the value is consistently high compared to your baseline, it could indicate a problem;
- Messages Received/Min – Again a low value here could simply indicate a quiet server; however if the Receive Queue Size value is high and this value is low, it indicates that you are receiving messages that are stacking up and are not being processed.
On Error Resume Next
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_PerfRawData_MSExchangeIS_MSExchangeISMailbox",,48)
For Each objItem in colItems
Wscript.Echo "ActiveClientLogons: " & objItem.ActiveClientLogons
Wscript.Echo "AverageDeliveryTime: " & objItem.AverageDeliveryTime
Wscript.Echo "AverageLocalDeliveryTime: " & objItem.AverageLocalDeliveryTime
Wscript.Echo "Caption: " & objItem.Caption
Wscript.Echo "CategorizationCount: " & objItem.CategorizationCount
Wscript.Echo "ClientLogons: " & objItem.ClientLogons
Wscript.Echo "Description: " & objItem.Description
Wscript.Echo "FolderOpensPersec: " & objItem.FolderOpensPersec
Wscript.Echo "Frequency_Object: " & objItem.Frequency_Object
Wscript.Echo "Frequency_PerfTime: " & objItem.Frequency_PerfTime
Wscript.Echo "Frequency_Sys100NS: " & objItem.Frequency_Sys100NS
Wscript.Echo "HTTPPerDAVCurrentPendingNotifications: " & objItem.HTTPPerDAVCurrentPendingNotifications
Wscript.Echo "HTTPPerDAVCurrentSubscriptions: " & objItem.HTTPPerDAVCurrentSubscriptions
Wscript.Echo "HTTPPerDAVCurrentTransactionLocks: " & objItem.HTTPPerDAVCurrentTransactionLocks
Wscript.Echo "HTTPPerDAVNotifyRequestsPersec: " & objItem.HTTPPerDAVNotifyRequestsPersec
Wscript.Echo "HTTPPerDAVTotalLocksCreated: " & objItem.HTTPPerDAVTotalLocksCreated
Wscript.Echo "HTTPPerDAVTotalNotifyRequests: " & objItem.HTTPPerDAVTotalNotifyRequests
Wscript.Echo "HTTPPerDAVTotalSubscriptionsCreated: " & objItem.HTTPPerDAVTotalSubscriptionsCreated
Wscript.Echo "HTTPPerDAVTotalSubscriptionsExpired: " & objItem.HTTPPerDAVTotalSubscriptionsExpired
Wscript.Echo "Localdeliveries: " & objItem.Localdeliveries
Wscript.Echo "Localdeliveryrate: " & objItem.Localdeliveryrate
Wscript.Echo "MessageOpensPersec: " & objItem.MessageOpensPersec
Wscript.Echo "MessageRecipientsDelivered: " & objItem.MessageRecipientsDelivered
Wscript.Echo "MessageRecipientsDeliveredPermin: " & objItem.MessageRecipientsDeliveredPermin
Wscript.Echo "MessagesDelivered: " & objItem.MessagesDelivered
Wscript.Echo "MessagesDeliveredPermin: " & objItem.MessagesDeliveredPermin
Wscript.Echo "MessagesSent: " & objItem.MessagesSent
Wscript.Echo "MessagesSentPermin: " & objItem.MessagesSentPermin
Wscript.Echo "MessagesSubmitted: " & objItem.MessagesSubmitted
Wscript.Echo "MessagesSubmittedPermin: " & objItem.MessagesSubmittedPermin
Wscript.Echo "Name: " & objItem.Name
Wscript.Echo "PeakClientLogons: " & objItem.PeakClientLogons
Wscript.Echo "ReceiveQueueSize: " & objItem.ReceiveQueueSize
Wscript.Echo "SendQueueSize: " & objItem.SendQueueSize
Wscript.Echo "SingleInstanceRatio: " & objItem.SingleInstanceRatio
Wscript.Echo "SingleInstanceRatio_Base: " & objItem.SingleInstanceRatio_Base
Wscript.Echo "Timestamp_Object: " & objItem.Timestamp_Object
Wscript.Echo "Timestamp_PerfTime: " & objItem.Timestamp_PerfTime
Wscript.Echo "Timestamp_Sys100NS: " & objItem.Timestamp_Sys100NS
Wscript.Echo "TotalCountofRecoverableItems: " & objItem.TotalCountofRecoverableItems
Wscript.Echo "TotalSizeofRecoverableItems: " & objItem.TotalSizeofRecoverableItems
Next
|
|