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  |