HP c-Class Performance Tuning manual Using the IO Accelerator as swap space

Page 22

(stride) 32K = 256K / 8K (dbd) 4 = 5 - 1 (stripe_width) 128 = 4 * 32K

This results in the following command:

$ mkfs.ext3 -b 8192 -E stride=32 -E stripe_width=128 /dev/md0

For more information on setting the stripe size, see the article "Optimizing the EXT3 file system on CentOS (http://wiki.centos.org/HowTos/Disk_Optimization)."

Using the IO Accelerator as swap space

NOTE: Adding multiple swap partitions usually slows down swap performance, even if they are set at the same priority. For best performance, only use one IO Accelerator device as swap space.

To safely use the IO Accelerator as swap space requires passing the preallocate_memory kernel module parameter. The recommended method for providing this parameter is to add the following line to the /etc/modprobe.d/iomemory-vsl.conffile:

options iomemory-vsl preallocate_memory=1072,4997,6710,10345

Where 1072, 4997, 6710, and 10345 are serial numbers obtained from the fio-statusutility.

A 4 KiB sector size format is required for swap. This reduces the driver memory footprint to reasonable levels. Use the Management Tool or the fio-formatutility to format the IO Accelerator with 4 KiB sector sizes.

CAUTION: You must have 400 MiB of free RAM per 80GB of IO Accelerator capacity (formatted to 4 KiB block size) to enable the IO Accelerator with pre-allocation enabled for use as swap. Attaching an IO Accelerator with pre-allocation enabled without sufficient RAM may result in the loss of user processes and system stability.

NOTE: Be sure to provide the serial numbers for the IO Accelerators, not the adapter.

NOTE: The preallocate_memory module parameter is necessary to have the drive usable as swap space. See the HP IO Accelerator User Guide for Linux for more information on setting this parameter.

NOTE: The preallocate_memory parameter is recognized by the IO Accelerator driver at load time, but the requested memory is not actually allocated until the specified device is attached.

Linux filesystem tuning 22

Image 22
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 Improperly configured benchmark Debugging performance issuesOversubscribed bus Handling PCIe errors PCIe link width improperly negotiated CPU thermal throttling or auto-idling Using CP and other system utilities Slow performance using RAID5 on LinuxBenchmarking through a filesystem To avoid this issue. For more information, see the patch Using direct I/O, unbuffered, or zero copy General tuning techniquesMultiple 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,10345Compiling the fio benchmark 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