So I've been trying to run a script which performs a variety of operations on medium sized video files on a mapped network drive in Windows 10.

The network drive is a shared folder on a ReadyNAS 104. The script is being run on my local machine. The operations it performs are generally file renaming, format conversion via ffmpeg, and header/footer reading/writing.

The issue I've been having is that the batch script barely uses 5% CPU and ~150kBps network (edit: looked again and it looks like it's closer to 120kB/s up and down at all times). There are a lot of files to run through so this means it's taking a VERY long time. My estimate is a few weeks to finish it all. This is frustrating given the two devices are on a LAN together and the computer has 8 cores it can do work on.

I've tried changing the priority of the processes involved (seems to have no effect between Normal and High). I've also tried running something like 30 instances of the script on subfolders and the utilization only goes up a little when multiple ffmpeg instances are running when a file needs conversion (still never really exceeding 30% utilization).

I had heard there could be an issue with SMB reauthentication slowing things down and, as per the suggestion in this thread, I tried a registry modification to fix it (with no effect).

I can understand the mapped network drive being a bottleneck for this process (and I do, indeed see a constant, low, 150kBps rate of transfer in a connection from the System process to the NAS network address), but I didn't expect such poor network utilization when I've been able to transfer individual files over the same drive at closer to 16mBps or greater.

Any suggestions on things I can try to speed up the process? The script is not mine, and it's been running for around 5 days now so I'm hesitant to do anything that would require me to restart it unless it's a good lead, but I'm open to any suggestions in general as I may run this process again in the future.


Edit 2: Checked back tonight after it ran about a half day at high priority. Now it's suddenly using a fairly reasonable 2.5mBps and 35% CPU. Still low but not so insanely low. Really not sure what to make of this behavior though! Might be faster to copy files off the NAS then back on rather than using mapped network drives (although I'd love to meet on why).

  • The ffmpeg command(s) and options used may be useful. – Yorik Mar 23 '16 at 20:28
  • Yeah I've looked at the 'threads' option, but that doesn't explain why the remainder of the script which isn't ffmpeg related is slow too. It's like all SMB operations have huge delays – user986122 Mar 23 '16 at 20:56
  • Still might be useful. You also don't mention if you tried running it on e.g. a local file. – Yorik Mar 23 '16 at 21:14
  • Oh yeah that's important info! I did try it on local files and it ran much much faster. It also used a much larger chunk of cpu (50% or more with just one script running). The ffmpeg part was still a bit slow for my taste, but it didn't have a weirdly low cpu usage. – user986122 Mar 23 '16 at 21:18

Answering my own question because I've realized I'm an idiot. I installed a new hard drive in the NAS right before beginning this process. It is 4TB and took a VERY long time to sync with my RAID-X. Syncing finished today and now I'm sitting at my correct bandwidth and CPU expectations. Apparently when that process is ongoing, the whole NAS slows down severely.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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