The results for my hard disk aren't what I expected.

Factors Which May Affect Disk Test Results

There are many factors that affect the disk test results in a Windows environment. Here are the main ones:

  • Cluster size: Larger clusters in general means better performance for large files.
    See Appendix 1 for typical default values. Reformatting your drive with larger clusters will give better results in our benchmark, but will also waste disk space. See Appendix 2 for an easy way to check your current cluster size.
  • Fragmentation: If the disk is fragmented and almost full, this can badly affect performance. Windows operating systems include a utility for defragmenting the disk, search for "defrag" in the Windows online help for more details.
  • The position of the test file on the disk (inner cylinder or outer cylinder) can also affect the performance. The only way to avoid this problem is to only test newly formatted disks with no partitions. In traditional drives, the fastest (outer) part of the drive, can be up to twice as fast as inner cylinder. In general hard drives will allocate partitions from the outside in.
  • The type of file system being used: FAT, FAT32 or NTFS.
  • The type of operating system: Window9x, NT, 2000, XP, Vista, Server2003, Server2008.
  • The disk controller (PATA, SATA or SCSI) and what mode it is running in: ATA-33,66,100, RAID0, 1, SATA 3Gbit/s or 6Gbit/s, etc.
  • If the drive is connected directly to the motherboard, or via USB, Firewire, etc..
  • The amount of memory that Windows has currently allocated to the disk cache. This can and will vary from one run to the next.
  • The amount of onboard cache the drive has.
  • Anti-virus software scanning files read / written to the disk.
  • If the disk has compression turned on, you may see very slow writes but much faster cached reads.
  • For SSD drives, the amount of use a drive has recieved and if the drive and O/S you are using support the TRIM command.
  • The firmware version in the drive itself. This can have a significant impact on newer SSD drives.
  • The block size used in the benchmark test (this can be adjusted in the Advanced Disk test window in PerformanceTest). Many newer SSD drives only seem to perform at their peak when a very large block size is used.

PerformanceTest attempts to measure the non-cached disk speed. In some circumstances, e.g. when the compression driver is in use, the operating system ignores the request not to cache data. This can lead to strange looking results. Typical disk speeds are in the range of 50MB/sec to 100MB/sec and numbers of above 300MB/sec probably indicate that the cache is interfering with the result.

My Seek Read/Write Results Still Seem Too Low

This test creates a large test file on the disk under test. The file is then read randomly; a seek is performed to move the file pointer to a random position in the file, a 16KB block is read or written then another seek is performed. The amount of data actually transferred is highly dependent on the disk seek time.

Appendix 1 - Default Hard Disk Cluster Sizes

Default Cluster Sizes for Volumes with Windows 2000 and XP File Systems

Volume size

FAT cluster size FAT32 cluster size NTFS cluster size
7 MB - 16 MB 2 KB Not supported 512 bytes
17 MB - 32 MB 512 bytes Not supported 512 bytes
33 MB - 64 MB 1 KB 512 bytes 512 bytes
65 MB - 128 MB 2 KB 1 KB 512 bytes
129 MB - 256 MB 4 KB 2 KB 512 bytes
257 MB - 512 MB 8 KB 4 KB 512 bytes
513 MB - 1,024 MB 16 KB 4 KB 1 KB
1,025 MB - 2 GB 32 KB 4 KB 2 KB
2 GB - 4 GB 64 KB 4 KB 4 KB
4 GB - 8 GB Not supported 4 KB 4 KB
8 GB - 16 GB Not supported 8 KB 4 KB
16 GB - 32 GB Not supported 16 KB 4 KB
32 GB - 2 TB Not supported Not supported 4 KB

Appendix 2 - Checking your cluster size

clustersizeclustersize2Versions of PerformanceTest later than 3.2 display the cluster size of the disk. In earlier versions of the software you'll need to check it yourself. Find or make a file on your hard disk with just a few bytes in it. Then while in Explorer right click on the file and select properties. Compare the values for 'Size' and 'Size on disk'. You can see that in the smallfile.txt example (left) that the disk is used extremely inefficiently (0.015% efficiency in fact). This is because this disk has been formatted with 32KB clusters. If the disk was formatted with 4KB clusters (top right) the results would have been very different (0.12% efficiency, a 8 fold improvement).