Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

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).

share|improve this question
    
Are you seeing a significant increase in resource utilization while your program collects data? You seem to be asking for a fix to something you aren't sure is broke. –  Cheekaleak May 23 '12 at 2:14
    
I reworded the question. I want to know if there is a way to do it more efficient than using dfsrdiag itself. –  Dusty W May 23 '12 at 3:10
add comment

1 Answer

up vote 6 down vote accepted

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 via Get-WmiObject

share|improve this answer
    
This answer was very useful and it looks like it'll get me exactly what I want. The important part is that local access is pretty much instantaneous. To actually get the resulting backlog value, it looks like you need values from both servers. For my need, I would fetch those values from multiple servers many times and can do the calculations in my code instead of needing dfsrdiag to fetch the same values over and over again for each pairing combination. That should save tons of processing time alone. Plus the peers can communicate their values via an external communication channel I choose. –  Dusty W May 23 '12 at 8:56
add comment

Your Answer

 
discard

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.