First you'll want to snag iometer. There are two major places you can find iometer, they are here:
http://www.iometer.org/doc/downloads.html (2006.07.27, don't use this, reference only)
http://sourceforge.net/projects/iometer/files/ (1.1.0-rc1, use this)
There's a bug in the last released binaries when it comes to config files. At the top and bottom of each config file you will find a line such as this:
Version 1.1.0
Now the new version, 1.1.0, doesn't recognize this version even though it's writing it itself when it saves the config files! It's still using the old versioning scheme which has a header and a footer that looks like this:
Version 2006.07.27
If you play around with config files and save them from within iometer, bear in mind you will have to open them in notepad or vi or whatever text editor you like and change the header and footer for iometer to recognize the config file. This bug is fixed in the source on sourceforge but I guess the project is dead and no new binaries have been produced. In theory you could compile it yourself and not have to worry about this workaround. The docs are also pretty much the same on both sites and haven't been updated since 2003. The options don't appear to have changed, though, so it's still a valid reference.
For additional help, there are seemingly active mailing lists:
http://www.iometer.org/doc/mailinglists.html
http://old.nabble.com/Iometer-f3210.html
Ok, now that this is out of the way, the process for installing iometer consists of downloading it and dumping it into a folder. Dump the config file below into the same folder though you can put it anywhere you want, really. You'll want to load up iometer FIRST and THEN load the config from within the program itself. You can double-click the config file directly but I've been having bad luck with that wherein I have to reboot to get iometer working again.
What you'll need to do is select the drive or array you want to test in the Disk Targets tab. Ideally it will be unpartitioned and raw for testing purposes. If you want to test an existing system, that will be addressed in a later post. The "manager" name will typically be your local computer's name. If you see a different name, well, that's just left over from my test system.
Hit the little green flag at the top center and save the results to whatever file you prefer. Your results will look something like this:
Code: Select all
'Target Type Target Name Access Specification Name
ALL All Database
MANAGER YOUR-COMPUTER Database
What I have been doing is copying the header and the line starting on "Manager" for my results, starting at IOps. So I capture data on my runs that looks like this (copied all the way to the end, omitted for readability):
Code: Select all
IOps Read IOps Write IOps MBps (Binary) Read MBps (Binary)
2752.033412 1842.325254 909.708158 21.500261 14.393166
You will typically plot the "IOps" column by the "Queue Depth" column to get similar bar graphs as TR does.
Note that by default there are no results shown. You can choose to show them with an update every N seconds if you want, but that will affect the results and doesn't duplicate what TR does. You also shouldn't be doin' much of anything else while benchmarking, but you already knew that!
The test patterns are sometimes difficult to compare between different benchmark places. When Intel opensourced iometer, apparently they didn't release all their test patterns that people had previously been using. Either that or at a certain point they renamed them or something. So it's a little confusing. The proper test patterns are in here and already selected for the test run.
Here is the config file. Copy the contents and paste it into a text file. Name the text file something like "tr-testing-4kb-new.icf".
Code: Select all
Version 2006.07.27
'TEST SETUP ====================================================================
'Test Description
TR Drive Test
'Run Time
' hours minutes seconds
0 3 0
'Ramp Up Time (s)
0
'Default Disk Workers to Spawn
0
'Default Network Workers to Spawn
0
'Record Results
ALL
'Worker Cycling
' start step step type
1 1 LINEAR
'Disk Cycling
' start step step type
1 1 LINEAR
'Queue Depth Cycling
' start end step step type
1 32 2 EXPONENTIAL
'Test Type
CYCLE_OUTSTANDING_IOS
'END test setup
'RESULTS DISPLAY ===============================================================
'Update Frequency,Update Type
0,WHOLE_TEST
'Bar chart 1 statistic
Total I/Os per Second
'Bar chart 2 statistic
Total MBs per Second (Decimal)
'Bar chart 3 statistic
Average I/O Response Time (ms)
'Bar chart 4 statistic
Maximum I/O Response Time (ms)
'Bar chart 5 statistic
% CPU Utilization (total)
'Bar chart 6 statistic
Total Error Count
'END results display
'ACCESS SPECIFICATIONS =========================================================
'Access specification name,default assignment
2K OLTP,ALL
'size,% of size,% reads,% random,delay,burst,align,reply
2048,100,67,100,0,1,0,0
'Access specification name,default assignment
4K OLTP,ALL
'size,% of size,% reads,% random,delay,burst,align,reply
4096,100,67,100,0,1,0,0
'Access specification name,default assignment
8K OLTP,ALL
'size,% of size,% reads,% random,delay,burst,align,reply
8192,100,67,100,0,1,0,0
'Access specification name,default assignment
32 Byte Data Streaming Read,NET
'size,% of size,% reads,% random,delay,burst,align,reply
32,100,100,0,0,1,0,0
'Access specification name,default assignment
32 Byte Data Streaming Write,NET
'size,% of size,% reads,% random,delay,burst,align,reply
32,100,0,0,0,1,0,0
'Access specification name,default assignment
512 Byte Data Streaming Read,DISK
'size,% of size,% reads,% random,delay,burst,align,reply
512,100,100,0,0,1,0,0
'Access specification name,default assignment
512 Byte Data Streaming Write,DISK
'size,% of size,% reads,% random,delay,burst,align,reply
512,100,0,0,0,1,0,0
'Access specification name,default assignment
8K Data Streaming Read,NET
'size,% of size,% reads,% random,delay,burst,align,reply
8192,100,100,0,0,1,0,0
'Access specification name,default assignment
8K Data Streaming Write,NET
'size,% of size,% reads,% random,delay,burst,align,reply
8192,100,0,0,0,1,0,0
'Access specification name,default assignment
64K Data Streaming Read,ALL
'size,% of size,% reads,% random,delay,burst,align,reply
65536,100,100,0,0,1,0,0
'Access specification name,default assignment
64K Data Streaming Write,ALL
'size,% of size,% reads,% random,delay,burst,align,reply
65536,100,0,0,0,1,0,0
'Access specification name,default assignment
TCP/IP Proxy Transfer,NET
'size,% of size,% reads,% random,delay,burst,align,reply
350,100,100,100,0,1,0,11264
'Access specification name,default assignment
File Server,DISK
'size,% of size,% reads,% random,delay,burst,align,reply
512,10,80,100,0,1,4096,0
1024,5,80,100,0,1,0,0
2048,5,80,100,0,1,0,0
4096,60,80,100,0,1,0,0
8192,2,80,100,0,1,0,0
16384,4,80,100,0,1,0,0
32768,4,80,100,0,1,0,0
65536,10,80,100,0,1,0,0
'Access specification name,default assignment
Web Server,DISK
'size,% of size,% reads,% random,delay,burst,align,reply
512,22,100,100,0,1,4096,0
1024,15,100,100,0,1,0,0
2048,8,100,100,0,1,0,0
4096,23,100,100,0,1,0,0
8192,15,100,100,0,1,0,0
16384,2,100,100,0,1,0,0
32768,6,100,100,0,1,0,0
65536,7,100,100,0,1,0,0
131072,1,100,100,0,1,0,0
524288,1,100,100,0,1,0,0
'Access specification name,default assignment
Database,NONE
'size,% of size,% reads,% random,delay,burst,align,reply
8192,100,67,100,0,1,4096,0
'Access specification name,default assignment
Workstation,NONE
'size,% of size,% reads,% random,delay,burst,align,reply
8192,100,80,100,0,1,4096,0
'Access specification name,default assignment
4K Data Random Write,DISK
'size,% of size,% reads,% random,delay,burst,align,reply
4096,100,0,100,0,1,4096,0
'END access specifications
'MANAGER LIST ==================================================================
'Manager ID, manager name
1,NERD-ANDREW
'Manager network address
'Worker
TR Worker
'Worker type
DISK
'Default target settings for worker
'Number of outstanding IOs,test connection rate,transactions per connection,use fixed seed,fixed seed value
1,DISABLED,1,DISABLED,0
'Disk maximum size,starting sector,Data pattern
0,0,2
'End default target settings for worker
'Assigned access specs
Web Server
File Server
Database
Workstation
'End assigned access specs
'Target assignments
'End target assignments
'End worker
'End manager
'END manager list
Version 2006.07.27
Please give me feedback so I can update this. I want to make it as much a "click here and you're DONE" kind of thing as possible.