IO Characteristics of Your Application
January 22, 2008 – 5:01 pmIO rate of 1+ Gigabytes/sec is rarely achievable, but hundreds of Megabytes/sec is achieved in lots of high-end production environment. Keep those numbers in mind when planning for what’s possible.
In Oracle, use AWR reports to determine current I/O metrics (Instance Activity Stats per sec).
• IOPS = “physical reads total I/O requests” + “physical writes total I/O requests”
• MBytes/s = “physical reads total bytes” + physical writes total bytes”
• For RAC environments - aggregate IOPS or MBytes/s for all nodes
Now the tricky part – estimating expected I/O throughput rates
• Establish what is being expanded – more users, new reports
• Pull I/O stats for a given session or transaction and extrapolate to the required number of users.
• Ensure data points are representative of the new workload
• Know when your Web users get on your system (e.g., peak hour transactions)
For new or non-existing applications, use business rules or data model transaction profiles flow to understand “what is a transaction”, and then extrapolate for transactions/s or per hour. Optionally you can use the numbers we have seen in our consulting gigs. Note that these are just guideline values.
Use the following as basic guidelines for OLTP (Online transaction processing) systems :
Low transaction system – 1000 IOPS or 200MBytes/s
Medium transaction system – 5000 IOPS or 600 Mbytes/s
High-end transaction system – 10,000 IOPS or 1Gbytes/s (almost rarely achievable and usually TPC-C type workloads)
Use the following as basic guidelines for DSS (Decision Support Systems) (units are in Gig = Gigabytes/Sec):
2 Gig I/O entry level DW
4-8 Gig I/O High End DW
10+ Gig I/O Very High END DW not yet seen in production !
40+ Gig I/O High End TPC-H
You must be logged in to post a comment.