Is there a way to monitor the DFSR backlog in a manner more efficient than using dfsrdiag.exe backlog
?
I wrote a program that just slurps in the backlog count via dfsrdiag.exe backlog /smem:alpha /rmem:beta /rgname:domain\namespace\foldername /rfname:foldername
with five minute intervals. Each time it runs, it takes quite a while (between 2 to 5 minutes) to get the resulting value. That means that in the end, it runs for a few minutes to collect the info and then delays for five minutes. It feels like it is probably expensive in some fashion in order to get this info. It also returns the top 100 files in the backlog. I really only want the backlog count alone and don't care about the files themselves. This is being used to create historical graphs.
Info for these DFSR peers: Windows 2008 R2 on four servers, three distant offices connected via 50-100Mb Internet connections, 30 replication groups, several replication groups are very large in file total size (1-2TB each) though most are small (500MB-10GB).
There is another way to get at the information, and that's through WMI. An enterprising soul has put together a PowerShell script that gathers this information:
http://gallery.technet.microsoft.com/scriptcenter/dac62790-219d-4325-a57b-e79c2aa6b58e
No indication of whether or not is faster than
dfsrdiag
, but I suspect it just might be.The WMI root is
root\MicrosoftDFS
and from there you can do the queries viaGet-WmiObject
Here's a pure PowerShell way to do it: