How to monitor DFSR backlog more efficiently than dfsrdiag
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
Related videos on Youtube
Emmaly
I love managing Linux servers and workstations as part of my living. I don't spend much time on it simply because I don't need to. I enjoy answering questions that relate to Linux and try to do so when I have spare moments. I sometimes have to manage Windows servers and workstations as part of my living. It pays well but I find it frustrating to have to deal with Windows-specific issues and interfaces when I could just be done already if I used my favorite tools. Sometimes I write programs in Go that help me manage the Windows machines and sometimes I just give up and ask for help here. I don't love Windows and I'm highly appreciative of the folks here that have clever answers for frustrating problems. I'm a Go programmer that used to be a Perl programmer... and I love that it's part of my day job. I loved Perl very much, but there is just too much goodness in Go to stay on the Perl wagon. I love having a cross-platform language that packs its own runtime without needing to hack something together like I had to do with Perl. I haven't really answered much in the way of Go questions, but I'm certainly on the lookout for questions that aren't already answered well. I spend as much time as I can expanding my Go experience, especially when it comes to building cross-platform tools to help myself or my customers live a happier computer-using life.
Updated on September 18, 2022Comments
-
Emmaly almost 2 years
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).
-
HostBits about 12 yearsAre 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.
-
Emmaly about 12 yearsI reworded the question. I want to know if there is a way to do it more efficient than using dfsrdiag itself.
-
-
Emmaly about 12 yearsThis 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. -
John T over 3 yearsSlogmeister, What version of PS are you using? I'm getting a few errors with the code. Thanks
-
Slogmeister Extraordinaire over 3 years@JohnT PowerShell 5.1 on Windows 10 (20H2) in the same domain as the DFS server. I corrected the script above as I had hardcoded a namespace.
-
Admin almost 2 yearsThis answer relies upon PowerShell cmdlets introduced in Server 2012r2 and will not work if any DFSR members are 2012 or earlier.