3

Ok so I've got 3 servers in this example

Server_A, Server_B, Server_C

I want to move data over the network from Server_A to Server_B by executing a batch script on Server_C, it would be something like this.

robocopy "\\Server_A\Share\" "\\Server_B\Share\"

1.) How is the data actually written to Server_B, does it get copied from Server_A to Server_C in a temp folder or memory then written to Server_B? Or does Server_C somehow actually tell Server_A to copy the file to Server_B directly.

My thoughts would be the data has to be read to a temp folder or memory on Server_C before it can then be written to Server_B which would mean that you effectively double the amount of data traveling over the network by using Server_C to manage the transfer it becomes an additional hop?

2.) Is it faster to run this data copy on server_A vs running on Server_B assuming all aspects of both servers are the same? Ie: When you copy from one server to another, does managing the copy on the source vs destination server have any real world impact?

I would guess running the copy from the source server is faster because it has the fastest access to the file allocating tables being they are stored locally, vs querying a remote server.

Thanks in advance for any input you can provide.

1 Answer 1

3

Running the robocopy command you show in your question from "Server_C" causes the data to be read over the wire from "Server_A" and sent to "Server_B" by "Server_C". All the data traverses the network interface(s) on "Server_C". The data moves through buffers in RAM-- there is no "temp folder" or such-- it's more ephemeral than that.

You are correct, though, in that you're creating a "hop" that causes more traffic to be generated overall. "Server_C" has no particular need for that data to move through it if "Server_A" and "Server_B" are able to communicate directly.

In such a scenario it would be faster to run the robocopy command on either "Server_A" or "Server_B". You won't be creating a "hop" that the traffic moves through unnecessarily. There's definitely a "real world impact", though whether it makes any practical difference in visible speed depends on how much data you're moving and the network topology.

Running the command on the source versus destination server makes no particular difference because the same data will be read from disk and transferred over the network. There's nothing about the "access to the file allocating tables" being faster for the source versus the destination-- the same data is moving regardless of where you initiate the copy from in that case.

You must log in to answer this question.

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