1

I'm experiencing strange write performance patterns on a RAID1 array of SATA disks. My kernel is vanilla 2.6.37 and my server has 32G RAM.

I'm copying a 32G file from an XFS filesystem on a SAS drive to an ext3 filesystem over a (md) RAID1 of SATA disks. My script creates a simple progess bar (every 10 secs) of the destination file size. It also append a line from the output of 'free'. Before I tes I clear the caches with "echo 3 > /proc/sys/vm/drop_caches"

Here are the results:

cp -a /mnt/sdc1/file.in /tmp/file.out
[                                                  ] Mem:      33012936    4032412   28980524          0      31644    3742452
[###                                               ] Mem:      33012936    7977628   25035308          0      33572    7635204
[#####                                             ] Mem:      33012936   11205572   21807364          0      35124   10792304
[######                                            ] Mem:      33012936   12683644   20329292          0      35608   11759028
[######                                            ] Mem:      33012936   12550208   20462728          0      35608   11759028
[######                                            ] Mem:      33012936   12410840   20602096          0      35608   11759028
[######                                            ] Mem:      33012936   12271776   20741160          0      35608   11759028
[#########                                         ] Mem:      33012936   15833144   17179792          0      37392   15368980
[############                                      ] Mem:      33012936   19862116   13150820          0      39308   19259740
[#############                                     ] Mem:      33012936   21157212   11855724          0      39704   20060860
[#############                                     ] Mem:      33012936   21021080   11991856          0      39704   20060860
[#############                                     ] Mem:      33012936   20874876   12138060          0      39704   20060860
[#############                                     ] Mem:      33012936   20729952   12282984          0      39704   20060860
[##############                                    ] Mem:      33012936   22500184   10512752          0      40636   21933100
[##################                                ] Mem:      33012936   26360264    6652672          0      42508   25733524
[###################                               ] Mem:      33012936   28987560    4025376          0      43536   27810124
[###################                               ] Mem:      33012936   28923096    4089840          0      43536   27810016
[###################                               ] Mem:      33012936   28786680    4226256          0      43536   27810016
[###################                               ] Mem:      33012936   28638128    4374808          0      43536   27810016
[####################                              ] Mem:      33012936   30000088    3012848          0      44272   29301256
[########################                          ] Mem:      33012936   32946852      66084          0      46140   32228016
[#########################                         ] Mem:      33012936   32888160     124776          0      46908   32179640
[##########################                        ] Mem:      33012936   32942628      70308          0      20060   31862128
[##############################                    ] Mem:      33012936   32944828      68108          0      21960   32008288
[################################                  ] Mem:      33012936   32948032      64904          0      23416   31547860
[#################################                 ] Mem:      33012936   32919512      93424          0      24088   31553904
[#################################                 ] Mem:      33012936   32778116     234820          0      24088   31553904
[#################################                 ] Mem:      33012936   32628472     384464          0      24088   31553904
[#################################                 ] Mem:      33012936   32538236     474700          0      24088   31553904
[#################################                 ] Mem:      33012936   32393560     619376          0      24088   31553904
[##################################                ] Mem:      33012936   32950472      62464          0      24564   32247572
[#####################################             ] Mem:      33012936   32946588      66348          0      26436   32284692
[#######################################           ] Mem:      33012936   32935556      77380          0      27740   32212172
[#########################################         ] Mem:      33012936   32946352      66584          0      28892   31820912
[############################################      ] Mem:      33012936   32948356      64580          0      30528   31949440
[#############################################     ] Mem:      33012936   32946464      66472          0      31324   31639956
[##############################################    ] Mem:      33012936   32947344      65592          0      32076   31530184
[###############################################   ] Mem:      33012936   32857244     155692          0      32428   31501208
[###############################################   ] Mem:      33012936   32716856     296080          0      32428   31501312
[###############################################   ] Mem:      33012936   32580440     432496          0      32428   31501312
[###############################################   ] Mem:      33012936   32472888     540048          0      32428   31501312
[###############################################   ] Mem:      33012936   32335460     677476          0      32428   31501312
[################################################  ] Mem:      33012936   32944556      68380          0      33036   32264768
real    8m46.268s
user    0m0.348s
sys     1m23.975s

However, if I break my RAID1 and copy to an ext3 file system directly on a SATA drive, here's what I get:

cp -a /mnt/sdc1/file.in /mnt/sdb2/file.out
[                                                  ] Mem:      33012936     196280   32816656          0      31484      18660
[###                                               ] Mem:      33012936    4148504   28864432          0      33408    3910888
[######                                            ] Mem:      33012936    8032248   24980688          0      35292    7734408
[#########                                         ] Mem:      33012936   11832856   21180080          0      37140   11472616
[###########                                       ] Mem:      33012936   13908652   19104284          0      38156   13518496
[############                                      ] Mem:      33012936   15639728   17373208          0      39004   15224776
[#############                                     ] Mem:      33012936   17507088   15505848          0      39924   17063232
[###############                                   ] Mem:      33012936   19347752   13665184          0      40828   18876212
[################                                  ] Mem:      33012936   21187884   11825052          0      41728   20687688
[##################                                ] Mem:      33012936   23047008    9965928          0      42636   22517744
[###################                               ] Mem:      33012936   24872660    8140276          0      43532   24314196
[#####################                             ] Mem:      33012936   26613560    6399376          0      44504   26028088
[######################                            ] Mem:      33012936   28513044    4499892          0      45432   27898960
[########################                          ] Mem:      33012936   30395804    2617132          0      46352   29750716
[#########################                         ] Mem:      33012936   32166636     846300          0      47220   31495576
[###########################                       ] Mem:      33012936   32944468      68468          0      20288   32286496
[############################                      ] Mem:      33012936   32950356      62580          0      21200   32291004
[##############################                    ] Mem:      33012936   32939964      72972          0      22136   32276580
[###############################                   ] Mem:      33012936   32949180      63756          0      23040   32280584
[#################################                 ] Mem:      33012936   32948540      64396          0      23952   32279360
[##################################                ] Mem:      33012936   32947360      65576          0      24892   32277828
[####################################              ] Mem:      33012936   32944672      68264          0      25748   32275000
[#####################################             ] Mem:      33012936   32943296      69640          0      26672   32272848
[#######################################           ] Mem:      33012936   32950452      62484          0      27552   32279228
[########################################          ] Mem:      33012936   32944044      68892          0      28388   32273088
[##########################################        ] Mem:      33012936   32943868      69068          0      29200   32269328
[###########################################       ] Mem:      33012936   32948948      63988          0      30208   32271936
[#############################################     ] Mem:      33012936   32943452      69484          0      31132   32266316
[###############################################   ] Mem:      33012936   32946576      66360          0      32132   32267452
[################################################  ] Mem:      33012936   32949592      63344          0      33144   32269624
[################################################# ] Mem:      33012936   32941840      71096          0      33792   32262896
real    5m44.006s
user    0m0.332s
sys     1m19.843s

I'm trying to understand what makes the RAID1 writes so "chunky". Are there any tunables that could aleviate the problem?

Patrick

1 Answers1

0

Have you tested both individual drives? RAID1 usually writes at the speed of the slowest drive so it could be that the other drive is slower. In this case the busrtyness could be a property of the slower drive.

David Spillett
  • 22,534
  • 42
  • 66