HP c-Class Performance Tuning manual System performance, Verifying Linux system performance

Page 6

System performance

Verifying Linux system performance

To verify Linux system performance with an IO Accelerator, HP recommends using the fio benchmark. This benchmark was developed by Jens Axboe, a Linux kernel developer. Fio is included in many distributions, or can be compiled from source. The latest source distribution (http://freshmeat.net/projects/fio) requires having the libaio development headers in place. For step-by-step instructions on compiling fio from source, see "Compiling the fio benchmark (on page 23)."

To test the raw performance of the IO Accelerator, HP recommends using raw block access. The best way to verify system performance is to run the fio tests in "Running fio tests (on page 6)."

CAUTION: The write tests destroy all data that currently resides on the IO Accelerator.

NOTE: For best performance on the IO Accelerator, use driver stack 2.1.0 or later.

Running fio tests

The sample jobs include the following four fio tests:

One-card write bandwidth

One-card read IOPS

One-card read bandwidth

One-card write IOPS

The following benchmarks are designed for maximally stressing the system and detecting performance issues, not to highlight IO Accelerator performance.

Benchmark tests

# Write Bandwidth test

$ fio --filename=/dev/fioa --direct=1 --rw=randwrite --bs=1m --size=5G --numjobs=4 --runtime=10 --group_reporting --name=file1

# Read IOPS test

$ fio --filename=/dev/fioa --direct=1 --rw=randread --bs=4k --size=5G --numjobs=64 --runtime=10 --group_reporting --name=file1

# Read Bandwidth test

$ fio --filename=/dev/fioa --direct=1 --rw=randread --bs=1m --size=5G --numjobs=4 --runtime=10 --group_reporting --name=file1

# Write IOPS test

System performance 6

Image 6
Contents HP IO Accelerator Performance Tuning Guide Page Contents Setting Windows driver affinity About the Performance and Tuning Guide IntroductionSystem performance Verifying Linux system performanceWrite bandwidth test System performance Verifying Windows system performance with Iometer Debugging performance issues Improperly configured benchmarkOversubscribed bus Handling PCIe errors PCIe link width improperly negotiated CPU thermal throttling or auto-idling Slow performance using RAID5 on Linux Using CP and other system utilitiesBenchmarking through a filesystem To avoid this issue. For more information, see the patch General tuning techniques Using direct I/O, unbuffered, or zero copyMultiple outstanding IOs Pre-conditioning $ dd if=/dev/zero of=/dev/fioX bs=10M oflag=directPre-allocating memory $ echo 4096 /sys/block/fio name/queue/nrrequestsPreallocatemb Tuning techniques for writes Increased steady-state write performance with fio-formatStride = chunk size / filesystem block size Linux filesystem tuningExt2-3-4 tuning Stripewidth = dbd * strideUsing the IO Accelerator as swap space Options iomemory-vsl preallocatememory=1072,4997,6710,10345Fio benchmark Compiling the fio benchmark$ tar xjvf fio-X.Y.Z.tar.bz2 $ cd fio-X.Y.Z Page Fd = openfilename, Owronly Programming using direct I/OUsing direct I/O on Linux Fd = openfilename, Owronly OdirectUsing direct I/O on Windows ++ code sample Programming using direct I/O Programming using direct I/O Setting Windows driver affinity Windows driver affinityCreate the SetWorkerAffinity2 tag of type Regdword Acronyms and abbreviations Index Index