1

I have to copy manually several files and backup a lot of data. It's from an HP laptop, 7200rpm SATA hard drive (no raid), Windows 8.1 to an external USB 3.0 7200rpm hard drive. Both have an NTFS filesystem. The files have really various sizes.

My question, is it quicker to copy them in parallel or in series?

From my developer point of view it would be quicker in series as I avoid extra repositioning and some overhead. But as I'm not on that side of IT, I would like to have your opinion on that. What is for you the optimal approach, series or parallel copying?

1
  • @HopelessN00b : Not sure I get your question, if you're asking for the amount of data ? 750Gb in several places with file from 1byte to 1Gb.
    – Emmanuel Istace
    Apr 13, 2014 at 5:10

2 Answers 2

2

You want to copy files one by one, but with all I/O done asynchronously.

Meaning that the app would issue several read requests at once and the OS will complete them as it can and signal the app that a block is ready. The app will then issue a write request and, again, the OS will complete it on its own schedule and notify the app when it's done. In practice this will mean that the app will have several outstanding read requests and several outstanding write requests at any time.

Secondly, what matters is the size of read/write requests. Recent Windows versions (starting with Vista) it is faster to read data in smaller blocks and it is faster to write it in larger blocks. On the flip side, reading from a network location is faster with larger blocks.

This is how Windows own robocopy works and it's pretty damn good.

--

As a bonus - when copying lots and lots of small files, the copying process ends up spending a disproportionately long time opening and closing files. So what you want is an app that looks ahead of its copying queue and pre-opens files in advance. This really kicks the copying to another level in terms of speed.

1

For the single-drive to single-drive backup scenario you're talking about here, your maximum speed will be how fast you can pull data from the source drive. If that data is well fragmented, there won't be a difference between parallel or serial retrieval. If that data is largely contiguous within the files themselves, there will be some difference between parallel and sequential style backups.

For that case...

If you're looking for maximum backup speed parallel will likely get the job done faster.
If you're looking for maximum restore speed sequential will be the best bet.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .