Performance and Monitoring eSATA Disk
Contents
Summary
Benchmark and file copying tests were run on a new disk drive in an external eSATA enclosure that could also be connected via USB. The benchmarks demonstrated speeds of greater than 100 MB/second, not quite as fast as possible due to enclosure limitations. Further tests were run with Performance Monitor enabled.
Initial Copy/Paste tests, with limited data size, indicated that performance via eSATA was the same as using USB. Part of the reason for this is that “Optimise For Performance” Policy setting cannot be turned off. This leads to data being written to disk after Windows indicates that copying has finished, and the time for this can be significant.
Later tests were run using data volumes greater than RAM size. The first one was copying large video files, where best possible performance was demonstrated, with overlapped input/output. This was reading from the main PC disk at its maximum speed and simultaneously writing to the eSATA based drive at the same speed. The same test using the other route was much slower, running at maximum benchmarked USB speed.
The next test was with variable sized data, including numerous tiny GIF files. This demonstrated limited speed advantage using eSATA. Performance Monitor indicated that more than one processor was being used for some of the time. This CPU utilisation was particularly high, and at unexpected levels, when data transfer speed was slow, indicating a possible CPU speed limitation on handling small files.
To Start
General
Tests were run on a Seagate ST3320613AS SATA 320 GB disk, connected via an Akasa eSATA/USB enclosure, to a PC with a Core 2 Duo CPU, using 64-Bit Vista. The PC has an Asus P5B motherboard with the eSATA connection via a JMicron controller. At the time of purchase, the disk was rated one of the fastest, benchmarked at up to 127 MB/sec.
After delivery of the Akasa enclosure, it was found that it was rated as SATA 1 at 150 MB/second, restricting maximum speed.
The tests comprised running standard benchmarks and copying files from the main PC drive to the external disk, with Performance Monitor logging.
Disk hardware policy settings for all tests were “Optimise For Performance” with Write Caching selected. Avast anti-virus was enabled and this reduces performance with small files, particularly on reading.
File copying tests were run once. Then the PC was restarted, to avoid using loaded data from Windows RAM based File Cache. However, it was found that, on copying file folders regularly, Windows can pre-load certain files. This is apparent on viewing logged data volumes. Background Windows activity also needs to be considered when interpreting performance logs.
To Start
DiskGraf Benchmark
DiskGraf Benchmark measures disk writing and reading speeds at different block sizes, also maximum DMA/Bus and random reading speeds. Details can be found in
DiskGraf Results.htm.
The first results below are for using the same disk area to compare speeds with data transfer via USB and eSATA. The latter is three to five times faster but with greater variations in speed of individual files. The second set of results start with speeds at half way across the disk surface, not much slower than the fastest results. Then, in the last 10% of tracks, speed is around 60% of that in the first partition, using large block sizes.
The benchmark (and CDDVDSpd) includes FILE_FLAG_NO_BUFFERING in the CreateFile function so that Windows does not save the data in the RAM based File Cache. This ensures that data is not buffered on writing or reading and finishes at the noted time. In other circumstances, with Optimise For Performance settings, file activity continues after Windows has indicated completion.
USB First Partition eSATA First Partition
File -> 1 2 3 4 5 Av Max 1 2 3 4 5 Av Max
Block
Block KB Write MB/Second Write MB/Second
1 3 2 3 2 3 2 3 9 9 7 9 9 8 9
2 4 4 4 4 4 4 4 15 16 16 16 15 16 16
4 7 7 8 7 7 7 8 27 27 27 28 27 27 28
8 11 12 12 12 12 12 12 43 44 44 46 46 44 46
16 16 16 17 17 17 17 17 63 63 63 61 66 63 66
32 21 21 21 22 21 21 22 72 82 79 85 85 80 85
64 25 25 26 25 25 25 26 94 98 95 94 98 96 98
128 26 25 25 26 25 25 26 102 103 99 98 84 97 103
256 24 25 26 26 25 25 26 99 95 91 96 100 96 100
512 24 24 25 23 25 24 25 88 97 102 101 105 99 105
1024 24 25 25 25 26 25 26 94 102 101 90 96 97 102
Read MB/Second Read MB/Second
1 2 2 2 2 2 2 2 11 10 11 11 11 11 11
2 4 4 4 4 4 4 4 20 20 19 20 20 20 20
4 8 8 7 8 8 8 8 37 37 36 37 36 36 37
8 12 12 12 12 12 12 12 56 57 59 59 59 58 59
16 20 20 19 20 19 20 20 77 75 74 80 80 77 80
32 27 28 28 28 27 27 28 93 98 94 97 96 95 98
64 28 33 33 32 33 32 33 107 105 105 110 110 107 110
128 32 29 32 32 32 31 32 113 114 109 113 101 110 114
256 31 30 32 32 32 32 32 110 111 107 109 109 109 111
512 31 29 32 30 31 31 32 104 110 109 111 113 110 113
1024 29 31 32 30 32 31 32 103 112 109 113 112 110 113
eSATA Second Partition at 147 GB eSATA Last 26 GB of 320 GB
Write MB/Second Write MB/Second
1 8 8 8 8 8 8 8 8 8 8 7 8 8 8
2 14 14 14 13 13 14 14 15 15 13 14 13 14 15
4 26 22 27 21 27 25 27 27 27 25 26 21 25 27
8 41 44 44 34 33 39 44 37 44 44 41 40 41 44
16 60 63 63 64 63 63 64 61 61 60 61 62 61 62
32 81 83 79 83 84 82 84 59 59 54 63 64 59 64
64 92 93 93 86 84 90 93 62 61 63 61 61 62 63
128 87 87 92 89 85 88 92 56 59 62 63 62 60 63
256 77 86 90 89 86 86 90 60 60 59 61 60 60 61
512 87 86 90 91 87 88 91 57 58 61 60 58 59 61
1024 79 84 86 90 85 85 90 58 60 61 59 62 60 62
Read MB/Second Read MB/Second
1 10 10 10 10 10 10 10 10 10 10 10 10 10 10
2 20 20 20 20 20 20 20 20 20 20 19 19 19 20
4 35 36 36 34 33 35 36 35 35 35 34 35 35 35
8 56 57 54 56 54 55 57 55 54 55 55 54 55 55
16 77 77 76 75 79 77 79 65 66 65 66 66 66 66
32 95 97 97 95 96 96 97 62 66 66 63 67 65 67
64 97 98 95 97 96 97 98 65 64 66 66 65 65 66
128 96 96 96 98 98 97 98 63 63 64 65 63 64 65
256 96 96 96 96 95 96 96 64 65 63 65 61 64 65
512 96 91 96 97 95 95 97 61 62 64 64 65 63 65
1024 89 94 92 90 98 92 98 63 64 64 61 65 63 65
To Start
Comparison With Main Disk
The main PC disk is a year 2007 Seagate SATA II disk. As shown below, data transfer speed is similar to the eSATA drive at small block sizes, but maximum speed of the latter is more than twice as fast. For later consideration, using Copy/Paste from the main disk to the eSATA drive, maximum possible copying speed is likely to be less than 52 MB/second, much less if reading and writing is not overlapped.
Using small block sizes, copying would be slower, with performance limited by eSATA writing speed, which is less than that from reading the other disk.
DiskGraf measures DMA speeds by rereading the same data blocks numerous times. Virtually all can be read from the disk’s buffer to demonstrate bus speed. Maximum speed of 200 MB/second or more indicates SATA II. The eSATA enclosure only produces up to 121 MB/second for SATA 1. This could reduce maximum data transfer speed on the particular disk drive, where other benchmarks have produced higher speed than that.
CPU utilisation is shown below for the eSATA disk DMA test. This is similar to that obtained on writing or reading the disk, where it is likely to have little influence on performance at large block sizes. DiskGraf also includes random access tests, reading within relatively small data sizes. This is intended to indicate the disk’s buffer size. Random access within a small number of tracks from the 7200 RPM disk’s surface could be expected to be around 4.5 milliseconds. The figures below confirm a 16 KB buffer.
eSATA DMA Reread block for one second
Block KB 1 2 4 8 16 32 64 128 256 512 1024
MB/sec 11 19 37 60 82 98 111 121 115 109 105
%CPU Ut 33 28 30 20 22 13 6 7 3 4 4
eSATA Disk Maximum MB/second From Above
Write 9 16 28 46 66 85 98 103 100 105 102
Read 11 20 37 59 80 98 110 114 111 113 113
eSATA Random Read 1KB
File MB 1 2 4 8 16 32 64
msecs 0.27 0.28 0.35 0.46 2.65 4.73 6.10
PC Main Disk Maximum MB/second
Block KB 1 2 4 8 16 32 64 128 256 512 1024
Write 8 17 30 43 43 42 43 43 42 42 42
Read 12 24 43 52 52 52 51 52 52 52 51
DMA 14 27 41 82 137 112 204 218 226 220 152
To Start
CDDVDSpd Benchmark
CDDVDSpd Benchmark can read files from any source and also write and read a combination of one large and 520 small files. In this case, large/small files used varied from 1MB/2KB to 64MB/128KB. Further details and results can be found in
CDDVDSpd Results.htm. The results from single pass of the large files are not necessarily accurate.
Below are MB/second speeds with large files and milliseconds per file on the small ones for the new disk, via USB and eSATA connections, and the existing SATA drive.
It seems that on writing single 1 to 2 MB files, eSATA might be no faster than USB. Otherwise, writing is two to four times faster with a two to more than three times gain on reading. For SATA to SATA, comparing performance using the single files, it needs the larger ones for eSATA to be faster, similarly with the multiple file tests. For copying data, eSATA writing speed of the smaller files can be slower than that reading from the other disk.
Large Files MB/Second Small Files msecs Per File
USB eSATA Old SATA USB eSATA Old SATA
MB Write Read Write Read Write Read KB Write Read Write Read Write Read
1 20 17 16 41 17 36 2 4.7 1.4 1.2 0.6 1.1 0.6
2 24 29 24 61 23 38 4 2.8 1.7 0.7 0.5 0.8 0.6
4 22 24 33 64 28 46 8 2.9 1.6 0.7 0.6 0.9 0.7
8 26 31 46 84 43 50 16 3.1 1.7 0.8 0.5 0.9 1.0
16 26 29 61 94 48 55 32 3.6 1.9 1.2 0.9 1.0 1.6
32 27 31 78 97 45 51 64 4.8 2.7 1.4 1.1 1.7 1.4
64 27 32 90 109 55 57 128 7.2 4.7 2.2 1.8 2.9 2.8
To Start
Setting Up Performance Monitor
This is arranged via Start, Run or Start Search with Vista, type Perfmon then press Enter - Vista administrative permission required. The program can also be started via Control Panel, Administrative Tools, Performance or Reliability and Performance with Vista. XP - select Performance Logs and Alerts, Counter Logs. Vista - select Data Collection Sets, User Defined. Via menu Action select New Log Settings or New Data Collection Set, XP - type name and OK then Add Counters. Vista - Create Manually, Next, tick Performance Counter, Next, Add.
Performance Object or Counter select and Add - Processor, % Processor Time - PhysicalDisk, Disk Read Bytes/sec, Disk Reads/sec, Disk Write Bytes/sec, Disk Writes/sec - Memory, Page Reads/sec, Page Writes/sec. Close or OK. [For LAN/network measurements add counters from Network Interface - Bytes Received/sec, Bytes Sent/sec, Packets Received/sec, Packets Sent/sec, possibly Output Queue Length, Discard and Error counters].
For other settings see Perfmon Help. Those used/changed were Sample Interval 1 second, log destination, log type Text Comma Delimited (CSV for spreadsheet), manual start/stop, 10000 samples Vista.
To Start
Performance Monitor - Copying Files
The first file copying tests, comparing eSATA and USB speeds, used mainly the same data as earlier USB versus Firewire tests - See Monitor1.htm. This was four folders with totals of 3559 files and 213 MBytes (decimal), average file size 60 KB.
In this case, there is no apparent disk activity associated with the Windows Copy command. Timing is from the Paste command to when the progress window closes.
For these tests, copying data from the main PC disk, there was no sign of high speed SATA operation and little difference between stopwatch timing from USB, over a number of runs. With “Optimise For Performance” and write caching enabled, some data is written slowly (lazy writing) after Windows has indicated that copying is finished, in this case, for 12 to 15 seconds.
Of particular note, CPU utilisation (for 1 CPU) is quite high but, based on the benchmark results above, Windows does not appear to be trying hard to optimise performance.
eSATA USB
Read Write CPU Page Read Write CPU Page
Sec MB Blcks MB Blcks Secs Reads Sec MB Blcks MB Blcks Secs Reads
1 14 315 0 17 0.7 332 1 1 167 0 11 0.1 167
2 15 412 4 63 0.9 400 2 4 211 0 18 0.2 215
3 22 394 8 85 0.6 395 3 19 407 2 49 0.8 423
4 9 710 12 147 1.0 752 4 10 347 6 60 0.8 327
5 19 423 6 42 0.7 443 5 22 456 7 55 0.9 479
6 13 363 7 145 0.8 381 6 5 666 6 132 0.9 707
7 16 277 13 83 0.5 287 7 16 427 7 53 0.7 452
8 1 518 9 97 0.7 557 8 13 309 8 219 0.6 322
9 6 190 6 456 0.5 207 9 22 449 9 57 0.6 468
10 9 176 8 49 0.6 182 10 4 320 16 73 0.7 497
11 6 186 8 127 0.4 196 11 11 510 5 392 0.9 540
12 7 186 12 148 0.6 200 12 13 348 11 255 0.8 365
13 7 194 7 71 0.4 206 13 17 431 10 145 0.8 450
14 15 213 8 42 0.5 216 14 13 461 9 179 0.9 488
15 6 204 8 79 0.6 270 15 4 409 20 94 0.7 433
16 2 625 7 476 1.0 676 16 12 292 11 101 0.6 308
17 15 293 8 53 1.0 847 17 14 391 5 429 0.9 412
18 14 405 8 145 0.9 427 18 20 312 16 177 0.7 321
19 25 451 11 178 1.2 470 19 5 603 10 187 0.8 641
20 2 606 12 72 1.2 644 20 0 89 19 74 0.5 206
21 0 9 12 202 0.5 11 21 0 0 7 258 0.2 0
Tot 224 7150 174 2777 15.3 8099 Tot 225 7604 182 3018 14.1 8220
33 224 7150 237 3545 16.8 8226 36 226 7627 243 3918 15.1 8244
Average block size around 32 KB reading and 64 KB writing
For the above and other examples, with 1 second sampling, Bytes/Second have been converted to MBytes. % CPU is for two CPUs. For Total CPU Seconds, % is divided by 50. Page Writes/Second were mainly zero. Page reading is associated with data in Windows File Cache and is generally the same as disk blocks read.
To Start
Copying Large Files
The next tests involved reading, writing and copying a number of the same 799 MB files one at a time. Again, performance using eSATA appears to be no better than via USB.
Read Only - The CDDVDSpd Benchmark was used for this test. The program reads the data bypassing Windows RAM based File Cache. Both the program timing and Perfmon indicated around 120 MB/second. Processor time used was also fairly low.
Write Only to eSATA - This test used a second Paste function to copy to the disk from File Cache (Sometimes only part of the data might be cached). On this occasion, all data was written within the timed period, at an average of nearly 110 MB/second.
Copy eSATA to Main - Most of the data was read into RAM at 120 MB/second, at the start of the process, whilst simultaneously saving part of it to the main drive. The Paste progress window was closed with 352 MB not saved, an this took another 9 seconds.
Copy Main to External - Copying via both USB and eSATA routes took about the same time, data being transferred during the timed part at around the maximum main disk reading speed. Slightly more data was transferred via eSATA within the 20 seconds shown. For both connections, timed copying mainly varied between 20 and 25 seconds.
Benchmark eSATA>Main Main>eSATA Main>USB eSATA Cached
Timed Read Write Read Write Read Write Read Write Read Write
Second MB MB MB MB MB MB MB MB MB MB
1 79 1 91 1 3 0 22 1 0 93
2 120 1 122 16 32 0 50 5 0 108
3 121 0 120 29 48 0 55 10 0 114
4 121 0 120 41 44 0 55 17 0 118
5 121 0 122 41 44 0 46 18 0 110
6 121 0 120 33 50 26 50 21 0 116
7 118 0 52 45 48 26 46 25 0 116
8 32 29 48 28 48 26 0 22
9 22 39 31 32 52 29
10 0 39 50 30 55 28
11 0 46 55 34 52 29
12 0 43 50 36 50 28
13 0 45 50 38 48 28
14 46 39 50 28
To
20 0 38 0 29
Total MB 799 2 800 447 799 537 799 496 0 799
Block Size 1047 19 1805 807 1968 833 1993 832 - 961
CPU Secs 1.4 5.4 7.1 5.9 4.6
Timed Secs 6.7 13.2 20.0 20.3 7.3
End Secs 7 22 31 32 8
End MB 799 804 800 799 743 845 800 0 799
To Start
Large Volumes
Tests using limited data size suggested that copy/paste data transfer speed via eSATA was no better than using a USB route. It was decided to run further tests using data size greater than the available 4 GB RAM. This would, at least, reduce the impact of data written after timing is finished. The following table is based on averages over 10 one second samples.
Large Files - For these tests, 6.7 GB of video files were used.
This time, overlapped reading and writing data via eSATA soon settled down at the maximum speed of the source PC disk (can’t do better than that). After the paste progress window closed, the final 200 MB was written within 12 seconds. Using USB, copying time was 1.6 times that for eSATA, consistently reading and writing disks at maximum USB speed.
Mixed Sized Files - These had an average file size of 128 KB, but included a few thousand tiny GIF files.
For this test, data transferred per 10 seconds varied considerably, according to file sizes (and there appeared to be additional Windows background activity) but, at least, USB copying time was 15% longer. Of particular note, CPU time used was high, sometimes using two CPUs (CPU time > 10 per 10 seconds).
This CPU utilisation was particularly high, and at unexpected levels, when data transfer was slow, indicating a possible CPU speed limitation on handling small files.
Further test were run with Avast anti-virus turned off. This reduced elapsed and CPU times by around one minute, but showed that it was not responsible for the excessive CPU utilisation.
6.7 GB eSATA 6.7 GB USB 5416 MB eSATA 5416 MB USB
34 Files 34 Files 43745 Files 43745 Files
Mean Mean Total Mean Mean Total Mean Mean Total Mean Mean Total
Secs Read Write CPU Read Write CPU Read Write CPU Read Write CPU
MB/s MB/s Secs MB/s MB/s Secs MB/s MB/s Secs MB/s MB/s Secs
10 48 21 3.1 48 17 2.5 1 0 1.6 12 5 7.3
20 53 45 3.1 51 29 3.7 1 0 1.8 12 13 9.2
30 52 51 3.3 28 29 2.3 8 2 4.3 8 12 9.6
40 53 55 3.5 28 29 2.8 16 13 9.1 13 19 9.2
50 53 53 3.1 28 29 3.2 11 12 8.5 26 19 8.4
60 52 53 3.7 28 29 2.9 22 17 9.6 8 21 9.8
70 51 52 3.2 28 29 3.0 21 19 9.8 21 18 10.0
80 52 53 3.4 28 29 3.1 22 25 13.7 16 22 9.9
90 40 45 3.1 28 30 2.9 30 26 14.0 17 19 9.0
100 41 42 2.8 24 29 2.9 26 28 12.7 27 23 7.5
110 54 47 2.9 32 29 2.9 25 30 11.1 12 18 8.3
120 53 53 3.3 28 28 2.8 17 25 11.5 10 16 8.1
130 53 53 3.3 27 28 3.2 3 14 14.3 3 10 11.5
140 40 50 3.7 29 28 2.9 3 7 18.1 2 7 14.2
150 0 21 0.6 28 28 3.0 3 7 18.3 2 5 16.3
160 28 28 3.0 14 9 17.6 7 5 17.6
170 28 28 3.2 13 13 16.4 9 9 15.7
180 28 28 3.1 8 14 17.9 12 11 16.1
190 28 28 2.8 9 13 17.0 8 10 16.3
200 28 28 2.6 1 7 16.3 8 10 16.3
210 28 28 2.8 1 4 16.1 1 6 14.6
220 28 28 2.8 2 3 16.3 1 4 13.5
230 0 29 1.3 1 4 17.1 1 2 13.3
240 0 29 1.4 2 3 17.0 2 5 16.2
250 2 3 16.6 2 3 16.8
260 1 4 17.2 1 4 16.7
270 27 10 15.8 8 4 16.5
280 47 35 13.7 50 23 11.6
290 48 45 10.6 44 25 9.9
300 49 47 5.6 21 21 7.5
310 46 48 4.6 26 26 5.7
320 48 47 4.4 26 25 5.1
330 28 46 5.9 26 26 3.6
340 10 33 7.0 26 27 4.3
350 8 9 0.9 27 27 4.0
360 27 27 4.0
370 16 31 6.5
380 5 32 8.8
390 0 27 2.0
Tot MB 6728 6514 6716 6338 5627 5921 5416 5764
Block KB 1932 883 1929 822 65 103 76 89
Seconds
Timed 140 43.9 226 66.3 335 408 385 422
End 152 44.6 244 68.8 346 409 397 424
End MB 6728 6745 6716 6834 5716 6012 5419 6087
To Start
BMPSpeed Benchark
BMPSpeed Benchmark is a real application, dealing with self generated BMP files up to 512 MB. It measures speed of saving, loading, scrolling, rotating and editing of 0.5, 1, 2, 4 etc. MB files upwards. Further details and results can be found in
BMPSpeed Results.htm.
Below are results on the 2.4 GHz Core 2 Duo, using 64-Bit Vista, a GeForce 8600 GT graphics card, the new disk using eSATA and USB, and the older PC Seagate ST3400633AS SATA2 Disk.
Over the three larger files, eSATA speed is 103 MB/second writing and 90 MB/second loading, converting and displaying the images. The older SATA disk achieves 41 and 42 MB/second, with USB at 26 and 29 MB/second.
######################################################################
BMP Benchmark Version 2.2x for 64 bit Windows Tue Oct 06 11:06:07 2009
Input Enlarge Save Load Scroll Scroll Rotate Use
Image Display Display /Repeat Overall 90 deg Fast
Mbytes Secs Secs Secs msecs MB/Sec Secs BitBlt
eSATA
0.5 0.03 0.01 0.02 0.1 4574.4 0.03 3
1.0 0.05 0.02 0.03 0.3 4293.1 0.04 3
2.0 0.05 0.06 0.06 1.2 2313.7 0.06 3
4.0 0.07 0.09 0.08 2.7 1715.0 0.09 3
8.0 0.09 0.13 0.15 4.2 1574.1 0.14 3
16.0 0.14 0.22 0.23 4.3 1562.6 0.20 3
32.0 0.22 0.40 0.46 4.3 1562.5 0.32 3
64.0 0.37 0.65 0.79 4.3 1560.4 0.61 3
128.0 0.71 1.27 1.49 4.4 1537.2 1.09 3
256.0 1.30 2.53 2.85 4.5 1516.0 4.23 3
512.0 2.34 4.91 5.63 4.7 1435.4 5.77 3
USB
128.0 0.71 4.77 4.40 4.5 1522.3 1.07 3
256.0 1.23 9.63 8.40 4.5 1513.2 4.28 3
512.0 2.39 19.64 17.43 4.9 1398.0 6.06 3
PC Main Disk
128.0 0.70 3.02 3.16 4.5 1496.3 1.06 3
256.0 1.24 5.96 6.01 4.4 1542.2 4.29 3
512.0 2.44 12.76 12.34 4.8 1422.6 6.19 3
To Start
Roy Longbottom October 2009
The new Internet Home for my PC Benchmarks is via the link
Roy Longbottom's PC Benchmark Collection
|