Robocopy Multi-Threaded File Copy Performance

The purpose of this review is to evaluate the performance of multi-threaded file copy operations using the Windows built-in command line file copy utility Robocopy. The performance test was performed on a quad-core machine with 16 GB of system memory running the Windows Server 2012 operating system. The T1 file copy operation was performed using a single file copy thread and the T2 file copy operation was performed using two parallel file copy threads. The file copy operations were performed between two identical Crucial MX300 1TB SSD drives using the same data set containing 30,000 small and medium-sized files.

Performance CounterRobocopy T2Robocopy T1
Disk Transfer Rate 170.65 MB/Sec 128.48 MB/Sec
Disk Read Transfer 108.33 MB/Sec 75.28 MB/Sec
Disk Write Transfer 58.71 MB/Sec 50.30 MB/Sec
Disk Transfer IOPS 4668.41 IOPS 3701.72 IOPS
Disk Read IOPS 3280.50 IOPS 2208.20 IOPS
Disk Write IOPS 621.64 IOPS 973.50 IOPS
Disk Average Request Size 37.60 KB 43.47 KB
Disk Average Read Request Size 33.49 KB 44.61 KB
Disk Average Write Request Size 79.48 KB 81.40 KB
Disk Average Request Time 0.38 ms. 0.59 ms.
Disk Average Read Request Time 0.23 ms. 0.36 ms.
Disk Average Write Request Time 0.50 ms. 0.51 ms.
CPU Usage 30.42 % 14.82 %
CPU Usage System 26.33 % 13.65 %
Process CPU Usage 80.88 % 51.31 %
Process Memory Used 16.35 MB 5.41 MB
Process Data Rate 225.43 MB/Sec 151.02 MB/Sec
Process Data IOPS 7652.53 IOPS 5026.04 IOPS

According to the performance results, Robocopy T2 achieves better results in 10 out of 18 tests including: Disk Transfer Rate, Disk Read Transfer, Disk Write Transfer, Disk Transfer IOPS, Disk Read IOPS, Disk Average Request Time, Disk Average Read Request Time, Disk Average Write Request Time, Process Data Rate and Process Data IOPS. On the other hand, Robocopy T1 achieves better results in 8 out of 18 tests including: Disk Write IOPS, Disk Average Request Size, Disk Average Read Request Size, Disk Average Write Request Size, CPU Usage, CPU Usage System, Process CPU Usage and Process Memory Used.

Robocopy T2 vs. Robocopy T1 - Disk Transfer Rate
Robocopy T2170.65 MB/Sec
Robocopy T1128.48 MB/Sec
More is Better Average: 149.56 MB/Sec Min: 0.00 MB/Sec Max: 325.13 MB/Sec

The average Disk Transfer Rate is better for Robocopy T2 (170.65 MB/Sec vs. 128.48 MB/Sec), the minimum Disk Transfer Rate is better for Robocopy T1 (23.52 MB/Sec vs. 0.00 MB/Sec) and the maximum Disk Transfer Rate is better for Robocopy T2 (325.13 MB/Sec vs. 312.22 MB/Sec).

Robocopy T2 vs. Robocopy T1 - Disk Read Transfer
Robocopy T2108.33 MB/Sec
Robocopy T175.28 MB/Sec
More is Better Average: 91.81 MB/Sec Min: 0.00 MB/Sec Max: 251.23 MB/Sec

The average Disk Read Transfer is better for Robocopy T2 (108.33 MB/Sec vs. 75.28 MB/Sec), the minimum Disk Read Transfer is better for Robocopy T1 (4.74 MB/Sec vs. 0.00 MB/Sec) and the maximum Disk Read Transfer is better for Robocopy T2 (251.23 MB/Sec vs. 213.22 MB/Sec).

Robocopy T2 vs. Robocopy T1 - Disk Write Transfer
Robocopy T258.71 MB/Sec
Robocopy T150.30 MB/Sec
More is Better Average: 54.50 MB/Sec Min: 0.00 MB/Sec Max: 135.25 MB/Sec

The average Disk Write Transfer is better for Robocopy T2 (58.71 MB/Sec vs. 50.30 MB/Sec), the minimum Disk Write Transfer is better for Robocopy T1 (0.39 MB/Sec vs. 0.00 MB/Sec) and the maximum Disk Write Transfer is better for Robocopy T2 (135.25 MB/Sec vs. 113.15 MB/Sec).

Robocopy T2 vs. Robocopy T1 - Disk Transfer IOPS
Robocopy T24668.41 IOPS
Robocopy T13701.72 IOPS
More is Better Average: 4185.06 IOPS Min: 0.00 IOPS Max: 7124.81 IOPS

The average Disk Transfer IOPS is better for Robocopy T2 (4668.41 IOPS vs. 3701.72 IOPS), the minimum Disk Transfer IOPS is better for Robocopy T1 (1166.57 IOPS vs. 0.00 IOPS) and the maximum Disk Transfer IOPS is better for Robocopy T1 (7124.81 IOPS vs. 6682.78 IOPS).

Robocopy T2 vs. Robocopy T1 - Disk Read IOPS
Robocopy T23280.50 IOPS
Robocopy T12208.20 IOPS
More is Better Average: 2744.35 IOPS Min: 0.00 IOPS Max: 5457.74 IOPS

The average Disk Read IOPS is better for Robocopy T2 (3280.50 IOPS vs. 2208.20 IOPS), the minimum Disk Read IOPS is better for Robocopy T1 (429.46 IOPS vs. 0.00 IOPS) and the maximum Disk Read IOPS is better for Robocopy T2 (5457.74 IOPS vs. 3074.95 IOPS).

Robocopy T2 vs. Robocopy T1 - Disk Write IOPS
Robocopy T2621.64 IOPS
Robocopy T1973.50 IOPS
More is Better Average: 797.57 IOPS Min: 0.00 IOPS Max: 5245.99 IOPS

The average Disk Write IOPS is better for Robocopy T1 (973.50 IOPS vs. 621.64 IOPS), the minimum Disk Write IOPS is better for Robocopy T1 (29.51 IOPS vs. 0.00 IOPS) and the maximum Disk Write IOPS is better for Robocopy T1 (5245.99 IOPS vs. 1601.25 IOPS).

Robocopy T2 vs. Robocopy T1 - Disk Average Request Size
Robocopy T237.60 KB
Robocopy T143.47 KB
More is Better Average: 40.53 KB Min: 0.00 KB Max: 107.99 KB

The average Disk Average Request Size is better for Robocopy T1 (43.47 KB vs. 37.60 KB), the minimum Disk Average Request Size is better for Robocopy T1 (6.04 KB vs. 0.00 KB) and the maximum Disk Average Request Size is better for Robocopy T1 (107.99 KB vs. 84.79 KB).

Robocopy T2 vs. Robocopy T1 - Disk Average Read Request Size
Robocopy T233.49 KB
Robocopy T144.61 KB
More is Better Average: 39.05 KB Min: 0.00 KB Max: 157.34 KB

The average Disk Average Read Request Size is better for Robocopy T1 (44.61 KB vs. 33.49 KB), the minimum Disk Average Read Request Size is better for Robocopy T1 (6.47 KB vs. 0.00 KB) and the maximum Disk Average Read Request Size is better for Robocopy T1 (157.34 KB vs. 96.00 KB).

Robocopy T2 vs. Robocopy T1 - Disk Average Write Request Size
Robocopy T279.48 KB
Robocopy T181.40 KB
More is Better Average: 80.44 KB Min: 0.00 KB Max: 250.56 KB

The average Disk Average Write Request Size is better for Robocopy T1 (81.40 KB vs. 79.48 KB), the minimum Disk Average Write Request Size is better for Robocopy T1 (4.00 KB vs. 0.00 KB) and the maximum Disk Average Write Request Size is better for Robocopy T1 (250.56 KB vs. 162.26 KB).

Robocopy T2 vs. Robocopy T1 - Disk Average Request Time
Robocopy T20.38 ms.
Robocopy T10.59 ms.
Less is Better Average: 0.48 ms. Min: 0.00 ms. Max: 2.62 ms.

The average Disk Average Request Time is better for Robocopy T2 (0.38 ms. vs. 0.59 ms.), the minimum Disk Average Request Time is better for Robocopy T2 (0.00 ms. vs. 0.10 ms.) and the maximum Disk Average Request Time is better for Robocopy T2 (0.69 ms. vs. 2.62 ms.).

Robocopy T2 vs. Robocopy T1 - Disk Average Read Request Time
Robocopy T20.23 ms.
Robocopy T10.36 ms.
Less is Better Average: 0.29 ms. Min: 0.00 ms. Max: 3.05 ms.

The average Disk Average Read Request Time is better for Robocopy T2 (0.23 ms. vs. 0.36 ms.), the minimum Disk Average Read Request Time is better for Robocopy T2 (0.00 ms. vs. 0.11 ms.) and the maximum Disk Average Read Request Time is better for Robocopy T2 (0.56 ms. vs. 3.05 ms.).

Robocopy T2 vs. Robocopy T1 - Disk Average Write Request Time
Robocopy T20.50 ms.
Robocopy T10.51 ms.
Less is Better Average: 0.51 ms. Min: 0.00 ms. Max: 1.54 ms.

The average Disk Average Write Request Time is better for Robocopy T2 (0.50 ms. vs. 0.51 ms.), the minimum Disk Average Write Request Time is better for Robocopy T2 (0.00 ms. vs. 0.03 ms.) and the maximum Disk Average Write Request Time is better for Robocopy T2 (1.25 ms. vs. 1.54 ms.).

Robocopy T2 vs. Robocopy T1 - CPU Usage
Robocopy T230.42 %
Robocopy T114.82 %
Less is Better Average: 22.62 % Min: 0.00 % Max: 47.00 %

The average CPU Usage is better for Robocopy T1 (14.82 % vs. 30.42 %), the minimum CPU Usage is better for Robocopy T2 (0.00 % vs. 7.00 %) and the maximum CPU Usage is better for Robocopy T1 (21.00 % vs. 47.00 %).

Robocopy T2 vs. Robocopy T1 - CPU Usage System
Robocopy T226.33 %
Robocopy T113.65 %
Less is Better Average: 19.99 % Min: 0.00 % Max: 41.00 %

The average CPU Usage System is better for Robocopy T1 (13.65 % vs. 26.33 %), the minimum CPU Usage System is better for Robocopy T2 (0.00 % vs. 7.00 %) and the maximum CPU Usage System is better for Robocopy T1 (21.00 % vs. 41.00 %).

Robocopy T2 vs. Robocopy T1 - Process CPU Usage
Robocopy T280.88 %
Robocopy T151.31 %
Less is Better Average: 66.09 % Min: 0.00 % Max: 100.00 %

The average Process CPU Usage is better for Robocopy T1 (51.31 % vs. 80.88 %), the minimum Process CPU Usage is better for Robocopy T2 (0.00 % vs. 28.57 %) and the maximum Process CPU Usage is better for Robocopy T1 (65.07 % vs. 100.00 %).

Robocopy T2 vs. Robocopy T1 - Process Memory Used
Robocopy T216.35 MB
Robocopy T15.41 MB
Less is Better Average: 10.88 MB Min: 5.30 MB Max: 19.47 MB

The average Process Memory Used is better for Robocopy T1 (5.41 MB vs. 16.35 MB), the minimum Process Memory Used is better for Robocopy T1 (5.30 MB vs. 8.27 MB) and the maximum Process Memory Used is better for Robocopy T1 (6.25 MB vs. 19.47 MB).

Robocopy T2 vs. Robocopy T1 - Process Data Rate
Robocopy T2225.43 MB/Sec
Robocopy T1151.02 MB/Sec
More is Better Average: 188.23 MB/Sec Min: 28.07 MB/Sec Max: 495.71 MB/Sec

The average Process Data Rate is better for Robocopy T2 (225.43 MB/Sec vs. 151.02 MB/Sec), the minimum Process Data Rate is better for Robocopy T2 (41.43 MB/Sec vs. 28.07 MB/Sec) and the maximum Process Data Rate is better for Robocopy T2 (495.71 MB/Sec vs. 423.57 MB/Sec).

Robocopy T2 vs. Robocopy T1 - Process Data IOPS
Robocopy T27652.53 IOPS
Robocopy T15026.04 IOPS
More is Better Average: 6339.28 IOPS Min: 4057.79 IOPS Max: 8856.42 IOPS

The average Process Data IOPS is better for Robocopy T2 (7652.53 IOPS vs. 5026.04 IOPS), the minimum Process Data IOPS is better for Robocopy T2 (5930.43 IOPS vs. 4057.79 IOPS) and the maximum Process Data IOPS is better for Robocopy T2 (8856.42 IOPS vs. 5862.42 IOPS).