⬆️ ⬇️

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