Title

Performance and Monitoring eSATA Disk

Contents

General DiskGraf Benchmark eSATA vs Main SATA Disk
CDDVDSpd Benchmark Setting Up Monitoring Monitoring and Copying Files
Copying Large Files Large Volumes BMPSpeed Benchmark

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