Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am analyzing DFS-R on Windows 2003 R2 and have come across a horrendous thing.

It appears that when you append a small amount of data to a large (existing) file, the write cost on the server for which you append the data is simply the data; when the write cost on the RECEIVING server is the entire file + the appended data.

Meaning, DFS-R re-writes the file on the receiving server.

I wanted to know if this is the case, and others have experienced the issue. I analyzed using a self-authored program that writes to a given file (I appended 100MB to the file), then I appended some data (1MB) to that file. I used Process Monitor's File Summary feature to review the write and read bytes occurring at the file system.

I am in shock. What sort of things might be misconfigured?



share|improve this question

From MS :

DFSR uses a new compression algorithm called Remote Differential Compression (RDC). RDC is a "diff over the wire" protocol that can be used to efficiently update files over a limited-bandwidth network. RDC detects insertions, removals, and rearrangements of data in files, enabling DFSR to replicate only the deltas (changes) when files are updated.

Try using a tool, like Performance Monitor, or an SNMP agent, or wireshark, to actually see how much data gets transferred over the wire. I think you'll see only the small amount go over the network.

Edit - RDC can also be turned off - perhaps that has happened in your case?

share|improve this answer
My concern isn't how much data is replicated, it's how much is written. In fact, I can see that the compressed version of the file is written to the Staging directory, then it must be sent to the receiving server. Then the receiving server creates the file in the Install directory (here it writes the amount described above). Then dfsr performs a move operation to adjust the MFT entry of the Installed file (it does not write twice on the receiving server). – mbrownnyc Aug 23 '11 at 21:09
How are you measuring write cost? / edit- I see you say you're using ProcMon. – mfinni Aug 23 '11 at 21:12
If payload = 100MB = 100%. Append 1MB = 1% on sending server, 101% on receiving. Instead of DFS-R treating an appending of data as an appending, it treats it as if the entire file changes. This seems inefficient, but I've already answered the question... the feature to check if the file was appended to or not isn't there. Thanks anyway. – mbrownnyc Aug 24 '11 at 12:31

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.