📜 ⬆️ ⬇️

IOMeter2 v1.1.0

Quite unexpectedly for me came the stable version of the multiplatform IGeter2 v1.1.0 synthetic load controller . IOMeter is often used for disk subsystem tests, although it can also generate network load. The interface didn’t completely change. In the previous article, I tested NetApp FAS storage connected via FC4 to a host on a stable version of IOMeter2 2008-06-22-rc2 .

With load testing, do not forget that you need to optimally configure the chain:
Storage -> Network ( Ethernet / FC) -> Host ( Windows / Linux / VMware ESXi ) -> Application.
To get the best results in both synthetic tests and real data. One server may not be enough to load the storage.

Of the important innovations:
')

For Outstanding I / O, the maximum value can be 256, while 128 means a high load similar to a high-loaded database .


Set the maximum size of the test file “Maximum Disk Size” (0 means all free space on the disk), the value is set in sectors, for example 20971520 sectors (where one sector is 512 Byte, so 20971520 sectors will give 10 GByte). And we set the load pattern in the “Write IO Data Patern” field. It is worth noting that IOMeter can work with a block device (that is, without a file system) for which it is created by the MBR partition table, and “on top” of the file system on the disk. In the case of running the test “on top” of the file system, IOMeter needs to create a test file, which can take a lot of time and depends on the “Maximum Disk Size” value. When working with a block device "directly", creating a test file is not required, IOMeter immediately starts the test.

Load patterns


All patterns: DB server, Web server, VDI and virtualization server, for IOMeter in the spoiler below. Start a text editor and save the contents of the spoiler, to a file with the icf extension.

iometer_v110_4k_ALL.icf
Version 1.1.0
'ACCESS SPECIFICATIONS =============================================== ==========
'Access specification name, default assignment
Default, NONE
'size,% of size,% reads,% random, delay, burst, align, reply
4096,100,67,100,0,1,4096,0
'Access specification name, default assignment
4 KiB; 100% Read; 0% random, NONE
'size,% of size,% reads,% random, delay, burst, align, reply
4096,100,100,0,0,1,4096,0
'Access specification name, default assignment
4 KiB; 75% Read; 0% random, NONE
'size,% of size,% reads,% random, delay, burst, align, reply
4096,100,75,0,0,1,4096,0
'Access specification name, default assignment
4 KiB; 50% Read; 0% random, NONE
'size,% of size,% reads,% random, delay, burst, align, reply
4096,100,50,0,0,1,4096,0
'Access specification name, default assignment
4 KiB; 25% Read; 0% random, NONE
'size,% of size,% reads,% random, delay, burst, align, reply
4096,100,25,0,0,1,4096,0
'Access specification name, default assignment
4 KiB; 0% Read; 0% random, NONE
'size,% of size,% reads,% random, delay, burst, align, reply
4096,100,0,0,0,1,4096,0
'Access specification name, default assignment
4 KiB aligned; 100% Read; 100% random, NONE
'size,% of size,% reads,% random, delay, burst, align, reply
4096,100,100,100,0,1,4096,0
'Access specification name, default assignment
4 KiB aligned; 50% Read; 100% random, NONE
'size,% of size,% reads,% random, delay, burst, align, reply
4096,100,50,100,0,1,4096,0
'Access specification name, default assignment
4 KiB aligned; 0% Read; 100% random, NONE
'size,% of size,% reads,% random, delay, burst, align, reply
4096,100,0,100,0,1,4096,0
'Access specification name, default assignment
16 KiB; 100% Read; 0% random, NONE
'size,% of size,% reads,% random, delay, burst, align, reply
16384,100,100,0,0,1,4096,0
'Access specification name, default assignment
16 KiB; 75% Read; 0% random, NONE
'size,% of size,% reads,% random, delay, burst, align, reply
16384,100,75,0,0,1,4096,0
'Access specification name, default assignment
16 KiB; 50% Read; 0% random, NONE
'size,% of size,% reads,% random, delay, burst, align, reply
16384,100,50,0,0,1,4096,0
'Access specification name, default assignment
16 KiB; 25% Read; 0% random, NONE
'size,% of size,% reads,% random, delay, burst, align, reply
16384,100,25,0,0,1,4096,0
'Access specification name, default assignment
16 KiB; 0% Read; 0% random, NONE
'size,% of size,% reads,% random, delay, burst, align, reply
16384,100,0,0,0,1,4096,0
'Access specification name, default assignment
32 KiB; 100% Read; 0% random, NONE
'size,% of size,% reads,% random, delay, burst, align, reply
32768,100,100,0,0,1,4096,0
'Access specification name, default assignment
32 KiB; 75% Read; 0% random, NONE
'size,% of size,% reads,% random, delay, burst, align, reply
32768,100,75,0,0,1,4096,0
'Access specification name, default assignment
32 KiB; 50% Read; 0% random, NONE
'size,% of size,% reads,% random, delay, burst, align, reply
32768,100,50,0,0,1,4096,0
'Access specification name, default assignment
32 KiB; 25% Read; 0% random, NONE
'size,% of size,% reads,% random, delay, burst, align, reply
32768,100,25,0,0,1,4096,0
'Access specification name, default assignment
32 KiB; 0% Read; 0% random, NONE
'size,% of size,% reads,% random, delay, burst, align, reply
32768,100,0,0,0,1,4096,0
'Access specification name, default assignment
64 KiB; 100% Read; 0% random, NONE
'size,% of size,% reads,% random, delay, burst, align, reply
65536,100,100,0,0,1,4096,0
'Access specification name, default assignment
64 KiB; 50% Read; 0% random, NONE
'size,% of size,% reads,% random, delay, burst, align, reply
65536,100,50,0,0,1,4096,0
'Access specification name, default assignment
64 KiB; 0% Read; 0% random, NONE
'size,% of size,% reads,% random, delay, burst, align, reply
65536,100,0,0,0,1,4096,0
'Access specification name, default assignment
256 KiB; 100% Read; 0% random, NONE
'size,% of size,% reads,% random, delay, burst, align, reply
262,144,100,100,0,0,1,4096,0
'Access specification name, default assignment
256 KiB; 50% Read; 0% random, NONE
'size,% of size,% reads,% random, delay, burst, align, reply
262,144,100,50,0,0,1,1,4096,0
'Access specification name, default assignment
256 KiB; 0% Read; 0% random, NONE
'size,% of size,% reads,% random, delay, burst, align, reply
262,144,100,0,0,0,1,4096,0
'Access specification name, default assignment
All in one, NONE
'size,% of size,% reads,% random, delay, burst, align, reply
4096,5,100,0,0,1,4096,0
4096,5,75,0,0,1,4096,0
4096,5,50,0,0,1,4096,0
4096,5,25,0,0,1,4096,0
4096,5,0,0,0,1,4096,0
4096,5,100,100,0,1,4096,0
4096,5,50,100,0,1,4096,0
4096,5,0,100,0,1,4096,0
16384,4,100,0,0,1,4096,0
16384,4,75,0,0,1,4096,0
16384,4,50,0,0,1,4096,0
16384,4,25,0,0,1,4096,0
16384,4,0,0,0,1,4096,0,0
32768,4,100,0,0,1,4096,0
32768.4.75.0.0.1.4096.0
32768,4,50,0,0,1,4096,0
32768.4.25.0.0.1.4096.0
32768,4,0,0,0,1,4096,0
65536,4,100,0,0,1,4096,0
65536,4,50,0,0,1,4096,0
65536,3,0,0,0,1,4096,0
262,144.3,100,0,0,1,4096,0
262144,3,50,0,0,1,4,496,0,0
262,144.3.0.0.0.1.4096.0
'Access specification name, default assignment
Database pattern, NONE
'size,% of size,% reads,% random, delay, burst, align, reply
8192,100,67,100,0,1,4096,0
'Access specification name, default assignment
Fileserver pattern (Intel), NONE
'size,% of size,% reads,% random, delay, burst, align, reply
512,10,80,100,0,1,4096,0
1024,5,80,100,0,1,4096,0
2048,5,80,100,0,1,4096,0
4096,60,80,100,0,1,4096,0
8192,2,80,100,0,1,4096,0
16384,4,80,100,0,1,4096,0
32768.4.80.100.0.1.4096.0
65536,10,80,100,0,1,4096,0
'Access specification name, default assignment
Workstation pattern (StorageReview.com), NONE
'size,% of size,% reads,% random, delay, burst, align, reply
8192,100,80,80,0,1,8192,0
'Access specification name, default assignment
Webserver pattern (unknown), NONE
'size,% of size,% reads,% random, delay, burst, align, reply
512,22,100,100,0,1,4096,0
1024,15,100,100,0,1,4096,0
2048,8,100,100,0,1,4096,0
4096,23,100,100,0,1,4096,0
8192,15,100,100,0,1,4096,0
16384,2,100,100,0,1,4096,0
32768,6,100,100,0,1,4096,0
66560,7,100,100,0,1,4096,0
131072,1,100,100,0,1,4096,0
524288,1,100,100,0,1,4096,0
'Access specification name, default assignment
VDI, NONE
'size,% of size,% reads,% random, delay, burst, align, reply
4096,100,20,80,0,1,4096,0
'END access specifications
'MANAGER LIST =============================================== ===================
'Manager ID, manager name
1, NetApp
'Manager network address

'End manager
'END manager list
Version 1.1.0



Example of setting a synthetic load pattern for a database



Align I / O on should always be 4K, as the most suitable in the case of modern operating systems and storage systems . So for Windows starting from NT 4.0 for NTFS, the minimum cluster value is 4KB , for EXT3 / EXT4 on the x86 platform, the default block size is often 4KB. SATA drives work with 4KB blocks of information. The block size for a database with an OLTP load is generally recommended to be set from 2KB to 8KB, and for mixed and DSS loads, the recommended block value is usually higher (8 KB, 16 KB, or 32 KB). VMware VMFS-5 uses a block size of 1MB and sub-blocks of 8KB. More about setting up IOMeter . VMware VMFS-6 (starting with vSphere 6.5) uses a 4K sector size with 512 bytes emulation (512e).
All of the above written off and to the Transfer request size: it makes no sense to make it less than 4KB.

Other load generators

sio
fio
Oracle Orion
MS SQLIO Disk Subsystem Benchmark Tool
Iozone
ATTO Disk Benchmark
Intel NASPT - sequential read / write operations for NAS

I ask to send messages on errors in the text to the LAN .
Notes and additions on the contrary please in the comments

Source: https://habr.com/ru/post/245859/


All Articles