locked
Major Disk Speed Improvement - Disable Write Cache Buffer Flushing RRS feed

  • General discussion

  • One of the most significant disk speed improvements available to Windows 7 is (for hardware setups that can support it) to disable Write Cache Buffer Flushing.  This allows application software to blaze ahead after writing data to disk without waiting for the physical write to complete. 

    Not only that, but (depending on the mix of operations you do) it allows the OS to batch requests together and optimize the output so the disk isn't made to seek nearly as much.  You can hear a significant reduction in disk thrashing by changing this one setting.

    In My Computer, right-click the C: drive, choose Properties, then click the Hardware tab.  Then click on the physical drive you're interested in and click the [Properties] button.  In in the dialog that opens, click the Policies tab:

    I have a lot of RAM; stable, reliable hardware; and a good quality UPS.  I've been running with this setting enabled for a couple of years and my system has always been rock solid stable, as well as light and fast. 

    My questions are simple:

    Have you tried this setting?  What is your experience with it?

    -Noel



    Wednesday, June 29, 2011 8:20 AM

All replies

  • Hi Noel,

    No, I haven't tried this, but I've been tempted.  What has stopped me is that my disk controller does not have a separate power supply.  As far as I can tell, this setting is designed for RAID controllers that have battery backup, so that in the case of sudden power outage, unflushed data can still be written (although I don't really see how unless the drives also have backup supplies).

    I will watch this thread to see what others have to say.  I have a good UPS too, so what risk is there really?


    Wednesday, June 29, 2011 2:58 PM
  • VF, I'm curious what things you tried that didn't seem to net much of an improvement...

    I found that a software build in Visual Studio (where I have it configured to do a lot of compiles simultaneously to use all the cores) benefited quite a bit by this setting alone, and as I mentioned, the system seeks the disk heads audibly less (not to mention multitask visibly more smoothly) when it is enabled.

    Did you reboot after changing the setting to test it?

    -Noel

    Wednesday, June 29, 2011 8:00 PM
  • Noel, you have me intrigued.  I am going to try it.  It just so happens that I was doing some performance monitoring because I've just installed a Velociraptor, and I wanted a baseline. 

    So I will hopefully see an improvement in the figures with this setting.  BTW, I'm just using native Windows Performance logs.


    Wednesday, June 29, 2011 8:10 PM
  • Interestingly, I just re-ran my own testing with a stopwatch and saw less of a difference between enabled and disabled than I saw before.

    There's a definite difference in the seek sounds.  With the setting checked (Write Cache Buffer Flushing disabled) it sounds smoother.

    I have large on-drive caches on my RAID (64 MB x 2), so maybe this setting only kicks in for really large files and heavy disk usage.  I just rebuilt a small VS project to test - probably less than 128 MB of file access total.

    I measured the system boot time as a few seconds faster with the setting checked.

    -Noel


    Wednesday, June 29, 2011 8:19 PM
  • You really ought to preface this with a big bold warning about how this makes no sense unless you have a stable UPS and reliable hardware / drivers, rather than casually mentioning your UPS as an afterthought.

    Disabling write cache buffer flushing is one of those handful of inane "performance" tweaks that most users don't understand the implications of, and are happy with minimal (or in most cases, placebo-only) performance improvements but end up confused why their non-backed-up (another important thing to do, especially if you're messing with settings like this) data was lost after a power failure or poorly timed BSOD.

    You may also want to preface this one with "If you've ever modified NtfsMemoryUsage, stop here, and never touch your system's configuration again."


    • Edited by JasonC4 Saturday, June 28, 2014 6:49 PM
    Saturday, June 28, 2014 6:49 PM
  • Jason, I'm sorry to hear that you've had some problems.

    The warning to enable the setting only if you have a backup power supply is right next to the setting in the dialog box itself.  I should think anyone going to set it would heed that.

    You should know that SSD-based setups that use onboard chipset SATA via Intel drivers pretty much always do write-back no-wait caching nowadays.  There's nothing particularly dangerous about this setting unless you have inadequate hardware or an unstable software setup.

    Additionally, though I don't use the Intel driver (I have a separate RAID card), I've been using the "Disable Write Back Buffer Flushing" setting for an additional 3 years now past the original post in this thread and had ZERO problems.

    Would you be willing to share what it is that you've seen go wrong in more detail?

    Thanks.

       

    -Noel


    Detailed how-to in my eBooks:  

    Configure The Windows 7 "To Work" Options
    Configure The Windows 8 "To Work" Options

    Saturday, June 28, 2014 8:13 PM
  • What if the computer goes to sleep due to low battery?

    What if the computer does a normal shutdown due to low battery?

    Will there be data-loss?

    thx!

    Thursday, January 24, 2019 5:34 PM
  • Turns out, on Windows 10 with an internal SSD, you can enable the "Better Performance" setting, but you can't enable "Write Caching". You'll get "Windows could not change the write-caching setting".

    

    • Edited by johny w Thursday, January 24, 2019 5:46 PM
    Thursday, January 24, 2019 5:39 PM
  • Hi Noel,

    No, I haven't tried this, but I've been tempted.  What has stopped me is that my disk controller does not have a separate power supply.  As far as I can tell, this setting is designed for RAID controllers that have battery backup, so that in the case of sudden power outage, unflushed data can still be written (although I don't really see how unless the drives also have backup supplies).

                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 

                                      The data will be preserved in RAM buffers by the BBU until the system is restarted and then that data will be written to the original target. (It stores the data and not unlike Chernobyl the system can't write the data to drives while they are spinning down:)

    On another note I really don't understand the big fuss with replying to an old thread.   It isn't like the information is somehow no longer relevant just because a few measly years went by.  Old threads are where the really good, thoroughly discussed data/information really is.  If you have a blog like this one I assert that you should really never delete or even close any threads off due to age.  I actually have never heard anyone express a reason why they had a preference for closing old threads to further discussion (though I've seen quite a few people scorched for doing so.  I'm of the impression that its really a psychological issue more than any sort of software or hardware liability.  Indexes generally only corrupt when something happens while they are being altered, etc.  I plan on posting this in its own topic,here, to see if I can actually learn what the issue with posting to old threads may be.   In the mean time I do appreciate the fact that this thread has been left in its original state and remains addressable.


    Friday, February 7, 2020 7:02 AM
  • Well by defaults write caching is option that is on,when running the proper storage controller software,as in INTEL Matrix storage,or Intel storage.For Microsoft help in this area,follow the links.

    https://docs.microsoft.com/en-us/previous-versions//cc751291(v=technet.10)

    https://docs.microsoft.com/en-us/windows-server/administration/performance-tuning/hardware/

    Sunday, February 9, 2020 4:06 AM