SyncIO

The SyncIO script measures unbuffered disk write performance, similar to database writes to the BI file.

This is done by measuring the execution of a BI grow of a 96 MB BI file (6 clusters of 16 MB). It can be run manually or scheduled in etc/schedule.*.cfg.

Trending: All ProTop agents will read $PROTOP/log/syncio.log and upload the last line to the ProTop web portal where it is displayed in MB per second.

To enable syncIO in schedule.cfg:

  1. Edit etc/schedule.[sitename].cfg
  2. Remove the "#" (comment) from the beginning of the syncio.[bat/sh] line
  3. Add the disk/path where the dbs are located, and make sure the user id running the script has permission to write to that directory.

Example:

*nix

5,20,35,50 * * * syncio.sh /db/tmp >> ${PTTMP}/tasksched.err 2>&1 [NOALERT] 

Windows

5,20,35,50 * * * cmd /c syncio.bat >> %TMPDIR%\tasksched.syncio.err 2>&1 & [NOALERT] 

What should my syncIO speed be?

From a very busy, workhorse database point of view, doing substantial writes, and looking at the syncIO trends in the ProTop Portal:

  • < 10 MB / second = very bad, replace the db IO subsystem ASAP
  • 10MB / second = barely acceptable, order storage now
  • 20MB / second = start looking for better storage
  • 30MB / second = start thinking about replacing the storage subsystem
  • 100MB / second = excellent!

But, on less write-intensive systems where users are not complaining of slowness, have a look at MTX latch waits.  MTX latch requests are made when writing to disk.  If MTX latch waits are low or nonexistent, simply make note of the fact that your IO subsystem might be a future point of contention and evaluate it more closely as your business grows.