SlideShare a Scribd company logo
1 of 17
Measuring Storage
Performance
Course practice
Presented by Valerian Ceaus
1. Using SQLIO to StressTest an I/O Subsystem
 Use SQLIO.exe to determine the Input/Output capacity of a disk subsystem
(tool provided by Microsoft).
 The purpose of SQLIO is not to simulate I/O patterns of SQL Server but rather
to test a variety of I/O types and sizes and determine the capacity of an I/O
subsystem.
 When testing the I/O system you should consider the following:
• Test a variety of I/O types and sizes
• Make sure the total size of the test files used in each test is significantly larger
than the amount of cache on the SAN (Short Stroke Efect).
• Short test runs (5-10 minutes) are okay for initial testing, however if potential
problem areas are discovered longer tests should be run.
• Allow some time in between each I/O type you test to allow the I/O system to
return to an idle state (1 min. acceptabile).
2. Commonly used SQLIO.exe options
Option Description
-o Specify the number of outstanding I/O requests. Increasing the queue depth may result in a
higher total throughput. However, increasing this number too high may result in problems.
Common values for this are 8, 32, and 64. In RAID, SAN or Storage Spaces setups, a single disk can be made up of
multiple physical disks. You can start with twice the number of physical disks used by the volume where the file sits. Using a higher
number will increase your latency, but can get you more IOPs and throughput.
-LS Capture disk latency information. Capturing latency data is recommended when testing a
system.
-k Specify either R or W (read or write).
-s Duration of test (seconds). You can use 10 seconds for a quick test. For any serious work, use
at least 60 seconds.
-b Size of the IO request in bytes. 8KB is the typical IO for OLTP workloads. 512KB is common for
Reporting, Data Warehousing.
-f Type of IO to issue. Either ‘random’ or ‘sequential’. Random is common for OLTP workloads.
Sequential is common for Reporting, Data Warehousing..
-F Name of the file which will contain the test files to run SQLIO against.
-t Threads. For large IOs, just a couple is enough. Sometimes just one.
For small IOs, you could need as many as the number of CPU cores.
3. Interpretingthe resultsof SQLIO
 When running the test you can redirect the output of SQLIO to a text file to capture the
performance information.
 If more detailed information is needed Windows Performance Monitor and/or SAN
specific monitoring tools can be used.
4. MonitoringI/O Performance– usingWindows
ResourceMonitor
5.MonitoringI/OPerformance –usingPerformanceMonitor(1)
Performance Monitor
Counter
Description
Disk Transfers/sec IOPS. Number of I/O’s being issued against a particular disk
Practical limit of 100-140/sec per spindle
Per Read/Write stats: Disk Reads/sec & Disk Writes/sec counters.
Avg. Disk Queue Length QD. Average queue depth. The general rule of thumb:
• Single disk (spindle) no more than 2 (QD more will cause additional latency.
Anyway, if latency added is less than 10-15ms then higher QD is acceptable.
Theoretically a SATA disk can queue up to 32 outstanding IOs (with NCQ) and
SAS disk can queue up to 255 outstanding IOs. With greater QD possible
higher IOPS/throughput
• RAID no more than # spindles * 2. Can be higher as long as latency do not
exceeds 10-15ms thresholds. Theoretically maximum can be # spindles in a
RAID set * 255(sas)/32(sata) or max queue depth for the RAID controller if
that is less than the disk’s queue sum.
Avg. Disk sec/Transfer Average latency. On well-tuned OLTP systems deployed on high performance
SAN’s ideal values would be in the range of < 2 ms for Log and 4-10 ms for Data.
DSS (decision support system) type workloads may result in higher latencies (30+
ms).
Disk Bytes/sec Throughput. Measure of the total throughput for a particular disk or LUN.
6.MonitoringI/OPerformance –usingPerformanceMonitor(2)
7. Using SQLIO.exe utility (preparing)
 Download the Tool
• You can get it from http://www.microsoft.com/en-us/download/details.aspx?id=20163
 Prepare a test file
• Ideally, you should create a file as big as possible, so that you can exercise the
entire disk. Creating a small file causes the head movement to be restricted to a
portion of the disk – as a result SQLIO will show an unrealistically high random IO
performance (short stroke effect).
• To create a large file for your test, the easiest way is using the FSUTIL.EXE tool,
which is included with all versions of Windows (starting Windows Vista). Use
FSUTIL.exe from PS:
FSUTIL.EXE file createnew X:testfile.dat (1TB)
FSUTIL.EXE file setvaliddata X:testfile.dat (1TB)
• Alternatives: (1) Dummy File Creator (2) Disk Tools
http://www.7tutorials.com/3-ways-create-random-dummy-files-windows-given-size
8. Using SQLIO.exe utility (runthe tool)
 Run the Tool
• Make sure that nothing else is competing with your testing.
• WARNING: You could be generating a whole lot of disk IO, network traffic and/or
CPU load when you run SQLIO. If you’re in a shared environment, you might want to
talk to your administrator and ask permission.
• Read(100%), Random(100%), Request Size(8KB), # of Outstanding(16)
SQLIO.EXE -s15 -kR -frandom -b8 -t8 -o16 -LS -BN X:TestFile.DAT
• Write(100%), Sequential(100%), Request Size(512KB), # of Outstanding(32)
SQLIO.EXE -s15 -kW -fsequential –b512 -t8 -o32 -LS -BN X:TestFile.DAT
• Recommendations:
- OLTP workloads 8KB random IOs, 8 threads, 16 outstanding (-frandom -b8 -t8 -o16)
- OLAP workloads 512KB sequential IOs, 2 threads, 16 outstanding (-fsequential -b512 -t2 -o16)
- Virtual Machines workloads: 8KB, Random (80%), Read (80%), 32 outstanding.(I/O blender)
9. Typical accesspatternsof various applications.
10. Otherstorage performance tools
 IOMeter – The open-source, cross-platform tool. If you do a lot of SAN work,
you might prefer a cross-platform tool that you can use across all of the
clients that connect to the SAN. IOMeter works on Windows and Linux. Intel
developed tool. (As compared to SQLIO support mixed R/W workload testing)
 SQLIOStress.exe - differs from SQLIO in that it is designed to simulate the I/O
patterns of SQL Server.
 Crystal Disk Mark - The easy, free one-button solution.
 HDTune Pro …
11. SATANative Command Queuing(NCQ)
 Native Command Queuing (NCQ) is an extension of the Serial ATA protocol
allowing hard disk drives to internally optimize the order in which received
read and write commands are executed.
 Native Command Queuing (NCQ) is a feature supported by Advanced Host
Controller Interface (AHCI).
 NCQ truly optimizes performance when disk accesses are random in nature.
(elevator seeking).
 Max Queue Depth:
• SATA (NCQ): 32
• SAS (TCQ): 255
TCQ - Tagged Command Queueing
12. Advanced Host ControllerInterface (AHCI)
13.IOPS/Throughput/Outstanding IO/Latencydependencies
14.Avg. I/OLatencyraisingexplanation
15. Determine the saturation point of an I/Osubsystem
 Start with a small number of outstanding I/Os (-o) and gradually increase this
until the path is saturated. Saturation occurs when latency increases and
throughput stays the same.
AdditionalInfo
SQLIO, PowerShell and storage performance: measuring IOPs, throughput and latency for both local disks
http://blogs.technet.com/b/josebda/archive/2013/03/28/sqlio-powershell-and-storage-performance-measuring-iops-
throughput-and-latency-for-both-local-disks-and-smb-file-shares.aspx
Benchmarking SQL Server IO with SQLIO
http://www.mssqltips.com/sqlservertip/2127/benchmarking-sql-server-io-with-sqlio
SQLIO Tutorial: How to Test Disk Performance
http://www.brentozar.com/archive/2008/09/finding-your-san-bottlenecks-with-sqlio
3 Ways to Create Random Dummy Files in Windows, with a Given Size
http://www.7tutorials.com/3-ways-create-random-dummy-files-windows-given-size
habr - Развитие накопителей
http://habrahabr.ru/company/etegro/blog/217115
SAS vs SATA — выбор дисковой подсистемы
http://www.etegro.ru/articles/sas-sata
IO Queue Depth Strategy
http://sqlblog.com/blogs/joe_chang/archive/2010/10/18/io-queue-depth-strategy.aspx
WHITE PAPER FUJITSU PRIMERGY SERVER BASICS OF DISK I/O PERFORMANCE
http://globalsp.ts.fujitsu.com/dmsp/Publications/public/wp-basics-of-disk-io-performance-ww-en.pdf
SQL Server Best Practices Article
http://technet.microsoft.com/en-us/library/cc966412.aspx
Use Resource Monitor to monitor storage performance
http://www.techrepublic.com/blog/the-enterprise-cloud/use-resource-monitor-to-monitor-storage-performance/
wikipedia - Native Command Queuing
http://en.wikipedia.org/wiki/Native_Command_Queuing
Installing Windows XP With F6 AHCI/RAID Drivers From USB Only
http://www.prime-expert.com/articles/b02/installing-windows-xp-with-f6-ahci-raid-drivers-from-usb-only.php
SQL Server Best Practices Article
http://technet.microsoft.com/en-us/library/cc966412.aspx

More Related Content

What's hot

AWS June 2016 Webinar Series - Amazon Redshift or Big Data Analytics
AWS June 2016 Webinar Series - Amazon Redshift or Big Data AnalyticsAWS June 2016 Webinar Series - Amazon Redshift or Big Data Analytics
AWS June 2016 Webinar Series - Amazon Redshift or Big Data AnalyticsAmazon Web Services
 
Best Practices for NoSQL Workloads on Amazon EC2 and Amazon EBS - February 20...
Best Practices for NoSQL Workloads on Amazon EC2 and Amazon EBS - February 20...Best Practices for NoSQL Workloads on Amazon EC2 and Amazon EBS - February 20...
Best Practices for NoSQL Workloads on Amazon EC2 and Amazon EBS - February 20...Amazon Web Services
 
Amazon Redshift: Performance Tuning and Optimization
Amazon Redshift: Performance Tuning and OptimizationAmazon Redshift: Performance Tuning and Optimization
Amazon Redshift: Performance Tuning and OptimizationAmazon Web Services
 
Migration to Redshift from SQL Server
Migration to Redshift from SQL ServerMigration to Redshift from SQL Server
Migration to Redshift from SQL Serverjoeharris76
 
January 2015 HUG: Using HBase Co-Processors to Build a Distributed, Transacti...
January 2015 HUG: Using HBase Co-Processors to Build a Distributed, Transacti...January 2015 HUG: Using HBase Co-Processors to Build a Distributed, Transacti...
January 2015 HUG: Using HBase Co-Processors to Build a Distributed, Transacti...Yahoo Developer Network
 
Introduction to Amazon Relational Database Service
Introduction to Amazon Relational Database ServiceIntroduction to Amazon Relational Database Service
Introduction to Amazon Relational Database ServiceAmazon Web Services
 
RDS Postgres and Aurora Postgres | AWS Public Sector Summit 2017
RDS Postgres and Aurora Postgres | AWS Public Sector Summit 2017RDS Postgres and Aurora Postgres | AWS Public Sector Summit 2017
RDS Postgres and Aurora Postgres | AWS Public Sector Summit 2017Amazon Web Services
 
AWS re:Invent 2016: Case Study: Librato's Experience Running Cassandra Using ...
AWS re:Invent 2016: Case Study: Librato's Experience Running Cassandra Using ...AWS re:Invent 2016: Case Study: Librato's Experience Running Cassandra Using ...
AWS re:Invent 2016: Case Study: Librato's Experience Running Cassandra Using ...Amazon Web Services
 
SQL Server to Redshift Data Load Using SSIS
SQL Server to Redshift Data Load Using SSISSQL Server to Redshift Data Load Using SSIS
SQL Server to Redshift Data Load Using SSISMarc Leinbach
 
Experience sql server on l inux and docker
Experience sql server on l inux and dockerExperience sql server on l inux and docker
Experience sql server on l inux and dockerBob Ward
 
Running Cassandra on Amazon EC2
Running Cassandra on Amazon EC2Running Cassandra on Amazon EC2
Running Cassandra on Amazon EC2Dave Gardner
 
Data Warehousing with Amazon Redshift
Data Warehousing with Amazon RedshiftData Warehousing with Amazon Redshift
Data Warehousing with Amazon RedshiftAmazon Web Services
 
Building your data warehouse with Redshift
Building your data warehouse with RedshiftBuilding your data warehouse with Redshift
Building your data warehouse with RedshiftAmazon Web Services
 
Dell emc back up solution in azure cloud
Dell emc back up solution in azure cloud Dell emc back up solution in azure cloud
Dell emc back up solution in azure cloud vipinvips
 
Running 400-node Cassandra + Spark Clusters in Azure (Anubhav Kale, Microsoft...
Running 400-node Cassandra + Spark Clusters in Azure (Anubhav Kale, Microsoft...Running 400-node Cassandra + Spark Clusters in Azure (Anubhav Kale, Microsoft...
Running 400-node Cassandra + Spark Clusters in Azure (Anubhav Kale, Microsoft...DataStax
 

What's hot (20)

AWS June 2016 Webinar Series - Amazon Redshift or Big Data Analytics
AWS June 2016 Webinar Series - Amazon Redshift or Big Data AnalyticsAWS June 2016 Webinar Series - Amazon Redshift or Big Data Analytics
AWS June 2016 Webinar Series - Amazon Redshift or Big Data Analytics
 
Best Practices for NoSQL Workloads on Amazon EC2 and Amazon EBS - February 20...
Best Practices for NoSQL Workloads on Amazon EC2 and Amazon EBS - February 20...Best Practices for NoSQL Workloads on Amazon EC2 and Amazon EBS - February 20...
Best Practices for NoSQL Workloads on Amazon EC2 and Amazon EBS - February 20...
 
Amazon Redshift: Performance Tuning and Optimization
Amazon Redshift: Performance Tuning and OptimizationAmazon Redshift: Performance Tuning and Optimization
Amazon Redshift: Performance Tuning and Optimization
 
Migration to Redshift from SQL Server
Migration to Redshift from SQL ServerMigration to Redshift from SQL Server
Migration to Redshift from SQL Server
 
SQLServer Database Structures
SQLServer Database Structures SQLServer Database Structures
SQLServer Database Structures
 
January 2015 HUG: Using HBase Co-Processors to Build a Distributed, Transacti...
January 2015 HUG: Using HBase Co-Processors to Build a Distributed, Transacti...January 2015 HUG: Using HBase Co-Processors to Build a Distributed, Transacti...
January 2015 HUG: Using HBase Co-Processors to Build a Distributed, Transacti...
 
Introduction to Amazon Relational Database Service
Introduction to Amazon Relational Database ServiceIntroduction to Amazon Relational Database Service
Introduction to Amazon Relational Database Service
 
RDS Postgres and Aurora Postgres | AWS Public Sector Summit 2017
RDS Postgres and Aurora Postgres | AWS Public Sector Summit 2017RDS Postgres and Aurora Postgres | AWS Public Sector Summit 2017
RDS Postgres and Aurora Postgres | AWS Public Sector Summit 2017
 
AWS re:Invent 2016: Case Study: Librato's Experience Running Cassandra Using ...
AWS re:Invent 2016: Case Study: Librato's Experience Running Cassandra Using ...AWS re:Invent 2016: Case Study: Librato's Experience Running Cassandra Using ...
AWS re:Invent 2016: Case Study: Librato's Experience Running Cassandra Using ...
 
Amazon RDS Deep Dive
Amazon RDS Deep DiveAmazon RDS Deep Dive
Amazon RDS Deep Dive
 
SQL Server to Redshift Data Load Using SSIS
SQL Server to Redshift Data Load Using SSISSQL Server to Redshift Data Load Using SSIS
SQL Server to Redshift Data Load Using SSIS
 
Experience sql server on l inux and docker
Experience sql server on l inux and dockerExperience sql server on l inux and docker
Experience sql server on l inux and docker
 
Running Cassandra on Amazon EC2
Running Cassandra on Amazon EC2Running Cassandra on Amazon EC2
Running Cassandra on Amazon EC2
 
Data Warehousing with Amazon Redshift
Data Warehousing with Amazon RedshiftData Warehousing with Amazon Redshift
Data Warehousing with Amazon Redshift
 
Deep Dive on Amazon Redshift
Deep Dive on Amazon RedshiftDeep Dive on Amazon Redshift
Deep Dive on Amazon Redshift
 
Building your data warehouse with Redshift
Building your data warehouse with RedshiftBuilding your data warehouse with Redshift
Building your data warehouse with Redshift
 
Dell emc back up solution in azure cloud
Dell emc back up solution in azure cloud Dell emc back up solution in azure cloud
Dell emc back up solution in azure cloud
 
PostgreSQL
PostgreSQLPostgreSQL
PostgreSQL
 
Running 400-node Cassandra + Spark Clusters in Azure (Anubhav Kale, Microsoft...
Running 400-node Cassandra + Spark Clusters in Azure (Anubhav Kale, Microsoft...Running 400-node Cassandra + Spark Clusters in Azure (Anubhav Kale, Microsoft...
Running 400-node Cassandra + Spark Clusters in Azure (Anubhav Kale, Microsoft...
 
Deep Dive on Amazon Redshift
Deep Dive on Amazon RedshiftDeep Dive on Amazon Redshift
Deep Dive on Amazon Redshift
 

Similar to SQLIO - measuring storage performance

How Many Slaves (Ukoug)
How Many Slaves (Ukoug)How Many Slaves (Ukoug)
How Many Slaves (Ukoug)Doug Burns
 
Resume_CQ_Edward
Resume_CQ_EdwardResume_CQ_Edward
Resume_CQ_Edwardcaiqi wang
 
Hands-on Lab: How to Unleash Your Storage Performance by Using NVM Express™ B...
Hands-on Lab: How to Unleash Your Storage Performance by Using NVM Express™ B...Hands-on Lab: How to Unleash Your Storage Performance by Using NVM Express™ B...
Hands-on Lab: How to Unleash Your Storage Performance by Using NVM Express™ B...Odinot Stanislas
 
HeroLympics Eng V03 Henk Vd Valk
HeroLympics  Eng V03 Henk Vd ValkHeroLympics  Eng V03 Henk Vd Valk
HeroLympics Eng V03 Henk Vd Valkhvdvalk
 
Ceph Day New York 2014: Ceph, a physical perspective
Ceph Day New York 2014: Ceph, a physical perspective Ceph Day New York 2014: Ceph, a physical perspective
Ceph Day New York 2014: Ceph, a physical perspective Ceph Community
 
Best Practices with PostgreSQL on Solaris
Best Practices with PostgreSQL on SolarisBest Practices with PostgreSQL on Solaris
Best Practices with PostgreSQL on SolarisJignesh Shah
 
Ceph Day Melbourne - Ceph on All-Flash Storage - Breaking Performance Barriers
Ceph Day Melbourne - Ceph on All-Flash Storage - Breaking Performance BarriersCeph Day Melbourne - Ceph on All-Flash Storage - Breaking Performance Barriers
Ceph Day Melbourne - Ceph on All-Flash Storage - Breaking Performance BarriersCeph Community
 
Cómo se diseña una base de datos que pueda ingerir más de cuatro millones de ...
Cómo se diseña una base de datos que pueda ingerir más de cuatro millones de ...Cómo se diseña una base de datos que pueda ingerir más de cuatro millones de ...
Cómo se diseña una base de datos que pueda ingerir más de cuatro millones de ...javier ramirez
 
Wp intelli cache_reduction_iops_xd5.6_fp1_xs6.1
Wp intelli cache_reduction_iops_xd5.6_fp1_xs6.1Wp intelli cache_reduction_iops_xd5.6_fp1_xs6.1
Wp intelli cache_reduction_iops_xd5.6_fp1_xs6.1Nuno Alves
 
SQL Server It Just Runs Faster
SQL Server It Just Runs FasterSQL Server It Just Runs Faster
SQL Server It Just Runs FasterBob Ward
 
Strata + Hadoop 2015 Slides
Strata + Hadoop 2015 SlidesStrata + Hadoop 2015 Slides
Strata + Hadoop 2015 SlidesJun Liu
 
Oracle Performance On Linux X86 systems
Oracle  Performance On Linux  X86 systems Oracle  Performance On Linux  X86 systems
Oracle Performance On Linux X86 systems Baruch Osoveskiy
 
Технологии работы с дисковыми хранилищами и файловыми системами Windows Serve...
Технологии работы с дисковыми хранилищами и файловыми системами Windows Serve...Технологии работы с дисковыми хранилищами и файловыми системами Windows Serve...
Технологии работы с дисковыми хранилищами и файловыми системами Windows Serve...Виталий Стародубцев
 
IMCSummit 2015 - Day 1 Developer Track - Evolution of non-volatile memory exp...
IMCSummit 2015 - Day 1 Developer Track - Evolution of non-volatile memory exp...IMCSummit 2015 - Day 1 Developer Track - Evolution of non-volatile memory exp...
IMCSummit 2015 - Day 1 Developer Track - Evolution of non-volatile memory exp...In-Memory Computing Summit
 
Deep Dive on Amazon EC2 instances
Deep Dive on Amazon EC2 instancesDeep Dive on Amazon EC2 instances
Deep Dive on Amazon EC2 instancesAmazon Web Services
 

Similar to SQLIO - measuring storage performance (20)

How Many Slaves (Ukoug)
How Many Slaves (Ukoug)How Many Slaves (Ukoug)
How Many Slaves (Ukoug)
 
IO Dubi Lebel
IO Dubi LebelIO Dubi Lebel
IO Dubi Lebel
 
Resume_CQ_Edward
Resume_CQ_EdwardResume_CQ_Edward
Resume_CQ_Edward
 
Hands-on Lab: How to Unleash Your Storage Performance by Using NVM Express™ B...
Hands-on Lab: How to Unleash Your Storage Performance by Using NVM Express™ B...Hands-on Lab: How to Unleash Your Storage Performance by Using NVM Express™ B...
Hands-on Lab: How to Unleash Your Storage Performance by Using NVM Express™ B...
 
HeroLympics Eng V03 Henk Vd Valk
HeroLympics  Eng V03 Henk Vd ValkHeroLympics  Eng V03 Henk Vd Valk
HeroLympics Eng V03 Henk Vd Valk
 
Ceph Day New York 2014: Ceph, a physical perspective
Ceph Day New York 2014: Ceph, a physical perspective Ceph Day New York 2014: Ceph, a physical perspective
Ceph Day New York 2014: Ceph, a physical perspective
 
Best Practices with PostgreSQL on Solaris
Best Practices with PostgreSQL on SolarisBest Practices with PostgreSQL on Solaris
Best Practices with PostgreSQL on Solaris
 
Ceph Day Melbourne - Ceph on All-Flash Storage - Breaking Performance Barriers
Ceph Day Melbourne - Ceph on All-Flash Storage - Breaking Performance BarriersCeph Day Melbourne - Ceph on All-Flash Storage - Breaking Performance Barriers
Ceph Day Melbourne - Ceph on All-Flash Storage - Breaking Performance Barriers
 
Cómo se diseña una base de datos que pueda ingerir más de cuatro millones de ...
Cómo se diseña una base de datos que pueda ingerir más de cuatro millones de ...Cómo se diseña una base de datos que pueda ingerir más de cuatro millones de ...
Cómo se diseña una base de datos que pueda ingerir más de cuatro millones de ...
 
Wp intelli cache_reduction_iops_xd5.6_fp1_xs6.1
Wp intelli cache_reduction_iops_xd5.6_fp1_xs6.1Wp intelli cache_reduction_iops_xd5.6_fp1_xs6.1
Wp intelli cache_reduction_iops_xd5.6_fp1_xs6.1
 
Refining Linux
Refining LinuxRefining Linux
Refining Linux
 
SQL Server It Just Runs Faster
SQL Server It Just Runs FasterSQL Server It Just Runs Faster
SQL Server It Just Runs Faster
 
PROSE
PROSEPROSE
PROSE
 
os
osos
os
 
Strata + Hadoop 2015 Slides
Strata + Hadoop 2015 SlidesStrata + Hadoop 2015 Slides
Strata + Hadoop 2015 Slides
 
Oracle Performance On Linux X86 systems
Oracle  Performance On Linux  X86 systems Oracle  Performance On Linux  X86 systems
Oracle Performance On Linux X86 systems
 
Технологии работы с дисковыми хранилищами и файловыми системами Windows Serve...
Технологии работы с дисковыми хранилищами и файловыми системами Windows Serve...Технологии работы с дисковыми хранилищами и файловыми системами Windows Serve...
Технологии работы с дисковыми хранилищами и файловыми системами Windows Serve...
 
IMCSummit 2015 - Day 1 Developer Track - Evolution of non-volatile memory exp...
IMCSummit 2015 - Day 1 Developer Track - Evolution of non-volatile memory exp...IMCSummit 2015 - Day 1 Developer Track - Evolution of non-volatile memory exp...
IMCSummit 2015 - Day 1 Developer Track - Evolution of non-volatile memory exp...
 
Deep Dive on Amazon EC2 instances
Deep Dive on Amazon EC2 instancesDeep Dive on Amazon EC2 instances
Deep Dive on Amazon EC2 instances
 
CH10.pdf
CH10.pdfCH10.pdf
CH10.pdf
 

Recently uploaded

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Principled Technologies
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024The Digital Insurer
 

Recently uploaded (20)

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 

SQLIO - measuring storage performance

  • 2. 1. Using SQLIO to StressTest an I/O Subsystem  Use SQLIO.exe to determine the Input/Output capacity of a disk subsystem (tool provided by Microsoft).  The purpose of SQLIO is not to simulate I/O patterns of SQL Server but rather to test a variety of I/O types and sizes and determine the capacity of an I/O subsystem.  When testing the I/O system you should consider the following: • Test a variety of I/O types and sizes • Make sure the total size of the test files used in each test is significantly larger than the amount of cache on the SAN (Short Stroke Efect). • Short test runs (5-10 minutes) are okay for initial testing, however if potential problem areas are discovered longer tests should be run. • Allow some time in between each I/O type you test to allow the I/O system to return to an idle state (1 min. acceptabile).
  • 3. 2. Commonly used SQLIO.exe options Option Description -o Specify the number of outstanding I/O requests. Increasing the queue depth may result in a higher total throughput. However, increasing this number too high may result in problems. Common values for this are 8, 32, and 64. In RAID, SAN or Storage Spaces setups, a single disk can be made up of multiple physical disks. You can start with twice the number of physical disks used by the volume where the file sits. Using a higher number will increase your latency, but can get you more IOPs and throughput. -LS Capture disk latency information. Capturing latency data is recommended when testing a system. -k Specify either R or W (read or write). -s Duration of test (seconds). You can use 10 seconds for a quick test. For any serious work, use at least 60 seconds. -b Size of the IO request in bytes. 8KB is the typical IO for OLTP workloads. 512KB is common for Reporting, Data Warehousing. -f Type of IO to issue. Either ‘random’ or ‘sequential’. Random is common for OLTP workloads. Sequential is common for Reporting, Data Warehousing.. -F Name of the file which will contain the test files to run SQLIO against. -t Threads. For large IOs, just a couple is enough. Sometimes just one. For small IOs, you could need as many as the number of CPU cores.
  • 4. 3. Interpretingthe resultsof SQLIO  When running the test you can redirect the output of SQLIO to a text file to capture the performance information.  If more detailed information is needed Windows Performance Monitor and/or SAN specific monitoring tools can be used.
  • 5. 4. MonitoringI/O Performance– usingWindows ResourceMonitor
  • 6. 5.MonitoringI/OPerformance –usingPerformanceMonitor(1) Performance Monitor Counter Description Disk Transfers/sec IOPS. Number of I/O’s being issued against a particular disk Practical limit of 100-140/sec per spindle Per Read/Write stats: Disk Reads/sec & Disk Writes/sec counters. Avg. Disk Queue Length QD. Average queue depth. The general rule of thumb: • Single disk (spindle) no more than 2 (QD more will cause additional latency. Anyway, if latency added is less than 10-15ms then higher QD is acceptable. Theoretically a SATA disk can queue up to 32 outstanding IOs (with NCQ) and SAS disk can queue up to 255 outstanding IOs. With greater QD possible higher IOPS/throughput • RAID no more than # spindles * 2. Can be higher as long as latency do not exceeds 10-15ms thresholds. Theoretically maximum can be # spindles in a RAID set * 255(sas)/32(sata) or max queue depth for the RAID controller if that is less than the disk’s queue sum. Avg. Disk sec/Transfer Average latency. On well-tuned OLTP systems deployed on high performance SAN’s ideal values would be in the range of < 2 ms for Log and 4-10 ms for Data. DSS (decision support system) type workloads may result in higher latencies (30+ ms). Disk Bytes/sec Throughput. Measure of the total throughput for a particular disk or LUN.
  • 8. 7. Using SQLIO.exe utility (preparing)  Download the Tool • You can get it from http://www.microsoft.com/en-us/download/details.aspx?id=20163  Prepare a test file • Ideally, you should create a file as big as possible, so that you can exercise the entire disk. Creating a small file causes the head movement to be restricted to a portion of the disk – as a result SQLIO will show an unrealistically high random IO performance (short stroke effect). • To create a large file for your test, the easiest way is using the FSUTIL.EXE tool, which is included with all versions of Windows (starting Windows Vista). Use FSUTIL.exe from PS: FSUTIL.EXE file createnew X:testfile.dat (1TB) FSUTIL.EXE file setvaliddata X:testfile.dat (1TB) • Alternatives: (1) Dummy File Creator (2) Disk Tools http://www.7tutorials.com/3-ways-create-random-dummy-files-windows-given-size
  • 9. 8. Using SQLIO.exe utility (runthe tool)  Run the Tool • Make sure that nothing else is competing with your testing. • WARNING: You could be generating a whole lot of disk IO, network traffic and/or CPU load when you run SQLIO. If you’re in a shared environment, you might want to talk to your administrator and ask permission. • Read(100%), Random(100%), Request Size(8KB), # of Outstanding(16) SQLIO.EXE -s15 -kR -frandom -b8 -t8 -o16 -LS -BN X:TestFile.DAT • Write(100%), Sequential(100%), Request Size(512KB), # of Outstanding(32) SQLIO.EXE -s15 -kW -fsequential –b512 -t8 -o32 -LS -BN X:TestFile.DAT • Recommendations: - OLTP workloads 8KB random IOs, 8 threads, 16 outstanding (-frandom -b8 -t8 -o16) - OLAP workloads 512KB sequential IOs, 2 threads, 16 outstanding (-fsequential -b512 -t2 -o16) - Virtual Machines workloads: 8KB, Random (80%), Read (80%), 32 outstanding.(I/O blender)
  • 10. 9. Typical accesspatternsof various applications.
  • 11. 10. Otherstorage performance tools  IOMeter – The open-source, cross-platform tool. If you do a lot of SAN work, you might prefer a cross-platform tool that you can use across all of the clients that connect to the SAN. IOMeter works on Windows and Linux. Intel developed tool. (As compared to SQLIO support mixed R/W workload testing)  SQLIOStress.exe - differs from SQLIO in that it is designed to simulate the I/O patterns of SQL Server.  Crystal Disk Mark - The easy, free one-button solution.  HDTune Pro …
  • 12. 11. SATANative Command Queuing(NCQ)  Native Command Queuing (NCQ) is an extension of the Serial ATA protocol allowing hard disk drives to internally optimize the order in which received read and write commands are executed.  Native Command Queuing (NCQ) is a feature supported by Advanced Host Controller Interface (AHCI).  NCQ truly optimizes performance when disk accesses are random in nature. (elevator seeking).  Max Queue Depth: • SATA (NCQ): 32 • SAS (TCQ): 255 TCQ - Tagged Command Queueing
  • 13. 12. Advanced Host ControllerInterface (AHCI)
  • 16. 15. Determine the saturation point of an I/Osubsystem  Start with a small number of outstanding I/Os (-o) and gradually increase this until the path is saturated. Saturation occurs when latency increases and throughput stays the same.
  • 17. AdditionalInfo SQLIO, PowerShell and storage performance: measuring IOPs, throughput and latency for both local disks http://blogs.technet.com/b/josebda/archive/2013/03/28/sqlio-powershell-and-storage-performance-measuring-iops- throughput-and-latency-for-both-local-disks-and-smb-file-shares.aspx Benchmarking SQL Server IO with SQLIO http://www.mssqltips.com/sqlservertip/2127/benchmarking-sql-server-io-with-sqlio SQLIO Tutorial: How to Test Disk Performance http://www.brentozar.com/archive/2008/09/finding-your-san-bottlenecks-with-sqlio 3 Ways to Create Random Dummy Files in Windows, with a Given Size http://www.7tutorials.com/3-ways-create-random-dummy-files-windows-given-size habr - Развитие накопителей http://habrahabr.ru/company/etegro/blog/217115 SAS vs SATA — выбор дисковой подсистемы http://www.etegro.ru/articles/sas-sata IO Queue Depth Strategy http://sqlblog.com/blogs/joe_chang/archive/2010/10/18/io-queue-depth-strategy.aspx WHITE PAPER FUJITSU PRIMERGY SERVER BASICS OF DISK I/O PERFORMANCE http://globalsp.ts.fujitsu.com/dmsp/Publications/public/wp-basics-of-disk-io-performance-ww-en.pdf SQL Server Best Practices Article http://technet.microsoft.com/en-us/library/cc966412.aspx Use Resource Monitor to monitor storage performance http://www.techrepublic.com/blog/the-enterprise-cloud/use-resource-monitor-to-monitor-storage-performance/ wikipedia - Native Command Queuing http://en.wikipedia.org/wiki/Native_Command_Queuing Installing Windows XP With F6 AHCI/RAID Drivers From USB Only http://www.prime-expert.com/articles/b02/installing-windows-xp-with-f6-ahci-raid-drivers-from-usb-only.php SQL Server Best Practices Article http://technet.microsoft.com/en-us/library/cc966412.aspx