However, in a CTOS (or MS-DOS, Windows/NT, etc.) environment, it is
advantageous to have the "Write Cache Enable" bit turned ON, which allows the
built-in cache on the disk to accept the data written to the disk, rather
than to wait for the write operation to complete before the operation ends.
The performance difference can be dramatic. One of our customers measured a
simple write operation (repeated many times), and on a disk with the cache
ENABLED, the program took about 30 seconds. With the cache DISABLED, the
same program ran in about 2 1/2 MINUTES ! Quite a performance hit.
– SCSI Write Cache Utility – David Adams, CTOS Technical Support, 20 June 1996
I once did a similar test*, and found the performance difference staggering. I was recently reminded of this setting when I read Raymond Chen’s post, "Dangerous setting is dangerous: This is why you shouldn’t turn off write cache buffer flushing"
In my experience, it’s a safe enough option to enable if:
- you’re not using the drive on a RAID array.
- you have a stable system.
- your system is either on a UPS or is a laptop plugged into mains power and has a fully charged battery.
To enable it, you can either:
* “The similar test” results, gathered on a Unisys CTOS III SG4250 server.
|Ram cache size||Ram cache write caching?||Hard drive write caching on?||Time|
My conclusions at the time:
As you can see from the above figures, a large file cache has made significant differences to performance.
Hard drive write caching was not as quick as I was led to believe it would be. maybe on a slower processor, it would make more of a difference.
Cache write Behind improves performance again. But as Unisys notes, if the system crashes and/or the hard disk fails, then data will be lost.