We have Dell servers running Windows with Perc 5/E, 6/i, 6/iR, etc. controllers. Each controller has 256MB of cache and a battery, so I turned on Write Back on the controller and turned off caching on the physical disks, for performance and data safety respectively. However, I am unsure of what to set the Read Ahead settings to for these workloads. I'm leaning towards Adaptive Read-Ahead for everything, because we don't really have any specialized or intense workloads. Let's say I have a...
2x 250GB SATA disks in RAID-1 with a stripe size of 64KB
- runs a file server for ~15 users, print server with ~5 printers, DHCP, DNS, and that's about it
Also, let's say I have a...
14x 750GB SATA disks in RAID-6 w/64KB stripe
- big DAS unit for backups
Finally, let's say I have a...
6x 450GB SAS disks in RAID-10 w/64KB stripe
- running various VMs (WSUS, file server for 25+ users with some large media files that also replicates off-site, email archiving, Sharepoint, and many more!)
What Read Ahead setting would be suited to these?
First use-case: Small File Server
You have so few demands on that system that optimizing the read-ahead settings won't get you much. Such workloads are significantly random I/O, but infrequent. Read-ahead will get some advantages, but the users aren't likely to notice.
Second use-case: Backup-to-Disk target
This type of system will be primarily write. Read-ahead in this instance is not used much since it's writing most of the time. The cache will be used to reorder writes. Which should go pretty well since this is primarily sequential writes happening (unless it's a deduplication system, at which point it'll be highly random) which makes things go a lot faster.
The caveat here is if backups are later staged to tape. The staging process will be primarily read, and if you're doing that kind of thing Read Ahead settings will absolutely net you gains so set them as high as you can (sequential writes mean sequential reads here! Unless it's a dedupe system, at which point it doesn't matter any more).
Third use-case: VM Host
This type of system is the most demanding on storage since it's a highly random mix of I/O types. Of the three types presented, it'll need the most tuning. Some read-ahead will be valuable, but not much due to the nature of the I/O demands.