Contents |
|
Introduction | 5 |
About the Performance and Tuning Guide | 5 |
System performance | 6 |
Verifying Linux system performance | 6 |
Running fio tests | 6 |
Write bandwidth test | 7 |
Verifying Windows system performance with Iometer | 9 |
Debugging performance issues | 10 |
Improperly configured benchmark | 10 |
Oversubscribed bus | 10 |
Handling PCIe errors | 11 |
PCIe link width improperly negotiated | 12 |
CPU thermal throttling or | 13 |
Benchmarking through a filesystem | 14 |
Slow performance using RAID5 on Linux | 14 |
Using CP and other system utilities | 14 |
ext4 in Kernel.org 2.6.33 or earlier might silently corrupt data when discard (trim) is enabled | 14 |
General tuning techniques | 16 |
Using direct I/O, unbuffered, or zero copy 10 | 16 |
Multiple outstanding IOs | 16 |
17 | |
Increasing outstanding requests allowed by the kernel (Linux only) | 18 |
18 | |
preallocate_memory | 18 |
preallocate_mb | 19 |
expected_io_size | 19 |
Tuning techniques for writes | 20 |
Increased | 20 |
Linux filesystem tuning | 21 |
21 | |
Setting stride size and stripe width for ext2/3 (extN) when using RAID | 21 |
Using the IO Accelerator as swap space | 22 |
fio benchmark | 23 |
Compiling the fio benchmark | 23 |
Verifying IO Accelerator performance on Windows operating systems | 24 |
Using Iometer to verify IO Accelerator performance on Windows operating systems | 24 |
Programming using direct I/O | 25 |
Using direct I/O on Linux | 25 |
Using direct I/O on Windows | 26 |
C++ code sample | 26 |
Windows driver affinity | 29 |
Contents | 3 |