Configure Perfmon to capture Disk IO activity and potential Disk Issues.

This article applies to recent versions of SmarterMail. View articles for SmarterMail 16.x and earlier.
This article will walk an Administrator through configuring Windows Performance Monitor (perfmon) to capture information pertaining to Disk IO utilization on the SmarterMail server. There will be two parts to this guide, one for setting up a generic monitor to view data in real and one for configuring a data collection set in which data can be captured over a period of time. The later option is especially helpful for capturing information that may occur at random, or at specific times after hours.


Using the NT Performance Monitor to monitor for any drive IO bottlenecks:

  1. Run perfmon.exe from Start | Run.
  2. In the graph windows, click the upper left icon to create a New Counter Set, then in the same toolbar click the + symbol.
  3. In the Add Counter dialog window, drop down the list box for the Performance Object, and choose Physical Disk.
  4. Highlight the following:
    • % Disk Read
    • % Disk Write
    • % Disk Idle
    • % Disk Time
    • Current Disk Queue Length
  5. Select the Physical Disk you want to monitor, and then click Add
    • If monitoring multiple disks, please select each individual volume and not total.
  6. Click Close

The purpose of each of these counters are:

  • % Disk Read - How much time your Disks are being read
  • % Disk Write - How much time your Disks are being written to
  • % Disk Idle - How much time your Disks are idle (not performing any action)
  • % Disk Time - How much time your Disks are in use
  • Current Disk Queue Length - How long the Operating System must wait to access the disks

Additional useful counters:

Disk Reads/sec - Overall rate of of read operations on the disk. Can be used to determine IOP’s to evaluate hardware needs and benchmark for hardware upgrades.

Disk Writes/sec - Overall rate of write operations on the disk. Can be used to determine IOP’s to evaluate hardware needs and benchmark for hardware upgrades.

Split IO/sec - On single disk volumes, a high Split IO/sec value may indicate a badly fragmented drive. Defraying may increase performance. 

On volumes capable of handling the IO requirements of their SmarterMail installation we would expect values not exceeding the following:

  • % Disk Read - Less than 15-20%
  • % Disk Write - Less than 15-20%
  • % Disk Idle - Over 85%
  • % Disk Time - Less than 15-20%
  • Current Disk Queue Length - Less than 1

Disk Read and Write’s can influx up to 35-40% and wouldn’t be a firm indicator of true bottlenecking but if you see these exceed 70-80% this means the disk activity is VERY high. Chances are during this same period, you will notice Disk IDLE % sit around 0-10%

In combination with high Disk Read\Write; If the current disk queue length exceeds 1-2, noticeable slowness will occur within the web interface, message deliveries, IMAP\EWS\EAS synchronization and many other aspects of the product would also be effected. The slowness is occurring since the OS must queue read\write operations and cannot commit said Read\Writes to the disk in real time.

Setting up Data Collector Sets to capture Disk IO performance over a given period of time.

  1. Run perfmon.exe from Start | Run
  2. Expand Data Collector Sets
  3. Expand User Defined
  4. Right Click User Defined
  5. Select New -> Data Collector Sets
  6. In the How would you like to create this new data collector set window:
    • Name: enter a friendly name such as IO Report
    • Set the option for Create Manually (Advanced).
    • Select Next
  7. In the What type of data do you want to include window:
    • Set the option for Create Data logs
      • Check Performance counter
    • Select Next
  8. In the Which performance counters would you like to log window:
    • Select Add… from the right hand side.
      • Expand the counters for Physical Disk and highlight the following:
        • % Disk Read
        • % Disk Write
        • % Disk Idle
        • % Disk Time
        • Current Disk Queue Length
        • Additional counters to consider (see explanations above 
          • Disk Reads/sec - Overall rate of of read operations on the disk. Can be used to determine IOP’s to evaluate hardware needs and benchmark for hardware upgrades.
          • Disk Writes/sec - Overall rate of write operations on the disk. Can be used to determine IOP’s to evaluate hardware needs and benchmark for hardware upgrades.
          • Split IO/sec - On single disk volumes, a high Split IO/sec value may indicate a badly fragmented drive. Defraying may increase performance.
      • Select the Physical Disk you want to monitor, and then click Add 
        • If monitoring multiple disks, please select each individual volume and not total.
      • Scroll down the list of performance counters and select SmarterMail
        • Add all of the counters for the mailservice instance
          • These counters will be helpful when high disk IO is encountered and you can then compare the values when high disk IO is not occurring within the collection set, with when it is occurring and potentially see if an influx of IMAP connection, SMTP connections, file handles, threads, etc, was encountered and investigate the necessary sections of SmarterMail to see if the root issue can be identified.
      • Click OK.
    • For the Sample Interval, 15-30 seconds is usually enough and can be adjusted as needed.
    • Click Next
  9. In the Where would you like the data to be saved window:
    • Set the Root Directory path
      • this is where the actual report data will be saved, notate this location so you can pull from this path if needed.
        • Please save this to a volume that’s not low on disk space. These reports can get fairly large if left running for a long period of time (days)
  10. Select Next
  11. In the Create the Data Collector set ? Window:
    • RunAs can be left as default unless special permissions are needed in your environment.
    • Select Save and Close
  12. Select Finish

Once the wizard has finished, you should be dropped back into the main Perfmon window. In the Data Collector Sets -> User Defined section, you should see the IO Report (or the friendly name) listed. You can right click this at any time and click Start to begin capturing the Disk IO and SmarterMail performance data. Once the data has been captured during the desired period, right click the IO Report and choose Stop.

You can then view the performance data under the Reports section. Expand Reports -> User Defined -> and expand IO Report. Here you can select the latest report to view the information. If the actual report data needs to be pulled, for example for a support ticket with us, or for you to review on an external system, this can be obtained from the path specified in step 9.

 

Learn more about the SmarterMail secure business email server.