Presentation on theme: "Monitoring and Testing I/O"— Presentation transcript:
1 Monitoring and Testing I/O Using Perfmon, Oracle tools and IOMeter for monitoring and load testing the I/O Subsystem
2 ObjectivesAt the end of this module the student will understand the following tasks and concepts.Monitoring the I/O Subsystem using PerfmonMonitoring the I/O Subsystem using Oracle ToolsLoad Testing the I/O Subsystem using TTCP
3 Oracle and I/O I/O performance is crucial to Oracle Performance Data buffers are sensitive to read I/O latencyLog buffers are sensitive to write I/O latencyAny slowdown in I/O performance can cause a significant performance loss for Oracle. Although Oracle uses Buffer Cache very effectively, all data must at some point be read into memory, andall transactions must be written out to the redo log files..
4 Oracle I/O Problems Performance Degradation Index lookup10 I/Os10 x 6 ms = 60 ms (not bad)10 x 100 ms = 1 sec (noticeable)Table Scan30,000 I/Os30,000 x 6 ms = 90 sec (not bad for a Table Scan)30,000 x 100 ms = 3,000 sec = 50 minutesYou are getting phone calls and s
5 Monitoring I/O Performance Perfmon General TipsSet the sample rate up1 sec is too fastNot accurate on all countersNot enough time to see all the countersWay to fast for saving the dataHeizenburg Uncertainty PrincipleUse both graph and report as appropriateSave data if possible
6 Monitoring I/O Performance Perfmon Logical Disk CountersLists the Physical Disks by Drive LetterGood for monitoring file I/OPhysical Disk CountersLists the Physical Disks by Physical DiskGood for monitoring the LUNs or Volumes
7 Monitoring I/O Performance Perfmon LatenciesIOPS (I/Os Per Second)ThroughputI/O sizes
8 Monitoring I/O Performance Perfmon LatenciesAvg. Disk sec/ReadProvides Read Latency StatisticsAvg. Disk sec/WriteProvides Write Latency Statistics
14 Monitoring I/O Performance Perfmon I/O sizesAvg. Disk Bytes/ReadAvg. Disk Bytes/WriteThese counters provide information that allows you to get a little bit of an idea of what Oracle is doing. When Oracle is doing index lookups or random reads and writes the standard block size of 8 KB will be used and you will see an 8 KB Avg. Disk Bytes/Read and an 8 KB Avg. Disk Bytes/Write.When Oracle is doing table scans the block size will be much larger. The maximum size is determined by the maximum I/O size allowable by the OS. In addition, the Oracle log writes are variable based on how much data is in the log buffer when the log writer thread is ready to write it out.
16 Monitoring I/O Performance Perfmon MiscellaneousCurrent Disk Queue LengthThe current disk queue length could give you an indication that there are performance problems with the I/O subsystem. With SAN storage the disk queue length should not be over 1 or 2. If this number is very high you should investigate further. This is not as good of an indication of a slowdown as the latency counters.
18 Monitoring I/O Performance Oracle Tools Oracle Counters for Windows Performance MonitorAdd Oracle Data Files counterphysreads/secPhyswrites/seChoose data files to monitorShows I/O for database files
19 Monitoring I/O Performance Oracle Tools STATSPACK ReportsTablespace IO StatsData File IO StatsTablespace IO Stats for DB: DSSA Instance: dssa4 Snaps: 1 -2->ordered by IOs (Reads + Writes) descTablespaceAv Av Av Av Buffer Av BufReads Reads/s Rd(ms) Blks/Rd Writes Writes/s Waits Wt(ms)UNDOTBS4,USERS,TEMPTOOLS,SYSTEMFile IO Stats for DB: DSSA Instance: dssa4 Snaps: 1 -2->ordered by Tablespace, FileTablespace FilenameSYSTEM /u11/dssa/system01.dbfTEMP /u11/dssa/temp01.dbfTOOLS /u11/dssa/tools01.dbf,UNDOTBS /u11/dssa/undotbs04.dbf,USERS /u11/dssa/users01.dbf,
20 Load Testing I/OUsed to determine I/O problems in a controlled and scientific mannerUsed to identify the upper limits of the storage subsystemUsed to prove or disprove hypothesis or theories
21 Load Testing I/O IOMeter IOMeter is a public domain utilityAvailable atGenerates I/O based on your specificationsProvides accurate resultsIs repeatable
22 Load Testing I/O IOMeter Made up of two major componentsGUIUsed for configuration and resultsDynamoUsed to generate the load
24 Load Testing I/O Disk Targets Maximum Disk SizeFor random I/Os this must be sufficiently large# of Outstanding I/OsDefines concurrency of I/OsIf set to one there will only be one I/O issued at a time and IOPS = 1 / latencyThe maximum disk size should be sufficiently large to cause seeking on the disk drives. In some cases, this must be very large. A maximum disk size that is too small will skew your results. The number of outstanding I/Os must be sufficiently high to simulate Oracle asynchronous I/O. If you leave it at the default of 1, only one I/O will be outstanding at time, thus resulting in no queueing.
25 Load Testing I/O Network Targets Used for network I/O testing
26 Load Testing I/O Access Specifications Specifies the type of I/OBlock SizeRead/Write ratioSequential/Random RatioCreate new spec for Oracle
27 Load Testing I/O Test Setup Used to set up automated testsRun timeRamp upNumber of workersEtc.
28 Load Testing I/O Results Display View the performance during the testIOPSThroughputLatencyCPU Utilization
29 ReviewWhat type of I/O problem causes the biggest problem with Oracle Data Files ?Name some Perfmon counters to monitor for I/O?What counter does the Oracle Counters for Windows Performance Monitor add to Perfmon that measures Oracle I/O?What are the two components of IOMeter?
30 Summary Monitoring the I/O Subsystem using Perfmon Monitoring the I/O Subsystem using Oracle ToolsLoad Testing the I/O Subsystem using TTCP