Manage Learn to apply best practices and optimize your operations.

How to plan for I/O-intensive environments

I/O-intensive environments with large, sustained workloads of various I/O sizes have their own special management challenges.

What you will learn from this tip: How to identify, plan for and manage high-volume storage networks.

I/O-intensive environments with large, sustained workloads of various I/O sizes have their own special management challenges. Your best bet as a manager of these environments is to anticipate high I/O workloads, and plan for them ahead of time.

While high I/O environments are commonly thought of as a large SAN issue, it's important to realize not every large storage environment is I/O-intensive. The first step in managing a high I/O-intensive environment is to pinpoint where one exists.

In fact, network capacity and number of devices is not an indicator of performance and workload activity. Neither is the presence of a large amount of disk capacity. Small and medium-sized storage environments can be I/O-intensive, if there is a large amount of active workload and I/O processing. An environment with a relatively small number of servers and storage -- for example, an OLTP, database server or vertical application for CRM or ERP -- can be I/O intensive.

Some applications and environments that tend to be I/O-intensive:

  • Video editing and processing including post production.
  • Video on demand and video services.
  • Paging, log, journal and index files.
  • Medical sciences including healthcare and imaging.
  • Geoscience and energy exploration.
  • Aerospace, telemetry and data acquisition.
  • Still and moving video surveillance.
  • Online Transaction Processing (OLTP)
  • Weather forecasting and simulations.
  • Backup and recovery along with data migration.

Some of the previous bullet items could be storage-intensive as well as being I/O-intensive depending on the I/O workload activity. I/O-intensive environments can have large, medium or small amounts of storage, yet have active workloads with either a large number of I/Os (transactions) of various size. For larger I/O sizes, more data will be moved and more bandwidth used, while less bandwidth will be used when processing smaller I/Os. Note that an I/O intensive environment can be optimized to support many transactions, support a large amount of bandwidth, or both.

Some common I/O characteristics:

  • Small I/Os are generally 1-16 blocks (512 bytes-8 KB) in size.
  • Medium-sized I/Os are generally 8-64 blocks (8-32 KB).
  • Large I/O sizes are generally 64 blocks (32 KB) or larger.
  • Transaction-oriented environments have many I/Os per second.
  • Bandwidth environments have many megabytes per second.
  • Latency and response time requirements are tied to SLAs and SLOs.
  • Random or sequential data access occurs with reads, writes, or a mix of both.
  • Workload activity profile, i.e. steady or sustained, occurring in bursts, varying by shift or time of day, week, month, etc.
  • Block-accessed, or file-, or object-based access.

Metrics used for evaluating, tuning and configuring I/O intensive storage:

  • I/O rate per second (or the number of I/O operations performed for a given period of time, independent of the I/O size).
  • Latency or response time to perform an I/O operation. This is also be measured by service delay and queue depth, as indicators of I/O backlog and I/O congestion at the adapter.
  • Throughput, bandwidth and transfer rate.

Tips and recommendations for I/O intensive environments:

  • Load-balance storage volumes across multiple I/O paths and storage subsystems, with high performance ports attached to switches. For example, attach storage to switches using 2 Gbit and 4 Gbit ports, as they become available. Also look for switches that provide virtual output queue capabilities to prevent head of line blocking.
  • Plan for server enhancements with faster interfaces, including PCI-X V2.0 and PCI-Express, to improve I/O performance particularly for applications requiring higher throughput.
  • Utilize the applicable RAID level for specific applications, for example RAID 0+1 for I/O intensive reads and writes, including log and journal files and frequently updated database tables and files. Even though mirrored write-back cache helps RAID-5 performance, avoid using RAID-5 for write-intensive applications.
  • For storage intensive applications, Solid State Disk (SSD) can be an effective I/O and storage medium. The important metric should be dollars-per-useful-I/O, instead of dollars-per-useful–MB, as you would use for storage-intensive applications.
  • A low I/O rate and large transfer rate with large response time is normal for large, sequential I/O operations such as backup/recovery, data migration, data mining, video and imaging.
  • A low transfer rate and large number of I/Os is normal in an I/O intensive environment including OLTP, e-mail, Web and file serving.

For more information:

About the author: Greg Schulz is a senior analyst with the independent storage analysis firm The Evaluator Group Inc. Greg has 25 years of IT experience as a consultant, end user, storage and storage networking vendor and industry analyst. Greg has worked with Unix, Windows, IBM Mainframe, OpenVMS and other hardware/software environments. In addition to being an analyst, Greg is also the author and illustrator of "Resilient Storage Networks." Greg holds both a computer science and software engineering degree from the University of St. Thomas.

Dig Deeper on Data center storage