Sponsored Content
Top Forums UNIX for Advanced & Expert Users How to test RAID10 array performance [Debian Wheezy]? Post 302918516 by gacanepa on Wednesday 24th of September 2014 12:22:59 AM
Old 09-24-2014
Hammer & Screwdriver How to test RAID10 array performance [Debian Wheezy]?

I have created a RAID10 array (near layout) with four 8 GiB virtual hard drives, making a 16 GiB array (/dev/md0 formatted as ext4). On the other hand, I have a 16 GiB RAID1 array (/dev/md1, also formatted as ext4).
The purpose of these setups is to compare the read and write performances of each array.

So far, I have used dd to perform the following tests:

dd (sequential write performance):

Code:
    dd if=/dev/zero of=/dev/md0 count=512 bs=1024k
    512+0 records in
    512+0 records out
    536870912 bytes (537 MB) copied, 6.60623 s, 81.3 MB/s

    dd if=/dev/zero of=/dev/md1 count=512 bs=1024k
    512+0 records in
    512+0 records out
    536870912 bytes (537 MB) copied, 5.74421 s, 93.5 MB/s

dd (sequential read performance):

Code:
    dd if=/dev/md0 of=/dev/null bs=4096k
    4093+1 records in
    4093+1 records out
    17168334848 bytes (17 GB) copied, 168.665 s, 102 MB/s

    dd if=/dev/md1 of=/dev/null bs=4096k
    4093+1 records in
    4093+1 records out
    17170300928 bytes (17 GB) copied, 44.6421 s, 385 MB/s

So I changed the RAID10 array layout to f2, and sequential read performance improved but the write performance decreased compared to n2 (which was the previous layout):

Code:
    dd if=/dev/md0 of=/dev/null bs=4096k
    4093+0 records in
    4093+0 records out
    17167286272 bytes (17 GB) copied, 110.424 s, 155 MB/s

    dd if=/dev/zero of=/dev/md0 count=512 bs=1024k
    512+0 records in
    512+0 records out
    536870912 bytes (537 MB) copied, 6.84386 s, 78.4 MB/s

I was expecting that the RAID10 array would have a better read performance that that of RAID1, but it isn't the case as per these tests - even when I have performed them several times to avoid outliers. I have also used iozone for benchmarking the same setups, with similar results.

I am also aware that other factors may impact performance, such as the hardware used (perhaps virtual hard drives may not provide the best scenario?) and the filesystem.

That being said, what would be the best setup for a RAID10 array that will undergo more reads than writes? (In addition, I am looking for further reasons to use RAID10 instead of RAID1 other than the fault tolerance provided by the latter).

Any tips and ideas will be more than welcome.

Thanks in advance.
 

8 More Discussions You Might Find Interesting

1. Debian

apt-get problems on Wheezy

I am having some troubles with apt-get. I did an apt-get update and an apt-get upgrade. Some dependencies did not download, and so I had to do `apt-get -f install` to fix that. The thing is I get an error about /var/lib/dpkg/available root@hayek:~# apt-get -f install Reading package lists...... (3 Replies)
Discussion started by: John Tate
3 Replies

2. Shell Programming and Scripting

How do I test the first char of each line in an array

Hi folks, I am self-learning as I can I have a script that has read a file into an array. I can read out each line in the array with the code: for INDEX in {0..$LENGTH} ## $LENGTH was determined at the read in do echo "${data}" done What I need to do is test the first char... (2 Replies)
Discussion started by: Marc G
2 Replies

3. Shell Programming and Scripting

[solved] awk: test assoc. array for content

Hi all, I am looking for a quick/short way in awk to check if an associative array has any content. I know I can split() it to an indexed array and check if the 1st element is set, or cycle through it with something like for( ele in arr ), but I want to avoid that, as I am looking for a shorter... (3 Replies)
Discussion started by: zaxxon
3 Replies

4. Linux

Unload kernel module at boot time (Debian Wheezy 7.2, 3.2.0-4-686-pae kernel)

Hi everyone, I am trying to prevent the ehci_hcd kernel module to load at boot time. Here's what I've tried so far: 1) Add the following line to /etc/modprobe.d/blacklist.conf (as suggested here): 2) Blacklisted the module by adding the following string to 3) Tried to blacklist the module... (0 Replies)
Discussion started by: gacanepa
0 Replies

5. Shell Programming and Scripting

Bash - array loop performance

Hi, another little question... "sn" is an array whose elements can vary from about 55,000 to about 150,000 elements. Each element consists of an integer between 0-255, eg: ${sn} contain the value: 103 . For a decrypt-procedure I need scroll all the elements 4 or 5 times. Here is an example of... (15 Replies)
Discussion started by: math4
15 Replies

6. HP-UX

Test cases for file system mount/umount performance in HP

Hi Folks, Could anyone please assist me with the what could be the scenarios to test the file system mount/umount performance check in HPUX. Thanks in advance, Vaishey (5 Replies)
Discussion started by: Vaishey
5 Replies

7. AIX

Power RAID10 array reconstruct fails ?

Hello, P7 machine PCI Express x8 Planar 3Gb SAS Adapter RAID10 array(2 disks)(not AIX lvm) was configured and working, then one disk failed and IBM support replaced that. Now raid array is degraded, data is not lost. I see new disk model(same as original) serial and etc. What I did trying... (0 Replies)
Discussion started by: vilius
0 Replies

8. Shell Programming and Scripting

If test array element multiplication

Ya, I know, who in this day and age is mirroring rootvg...? But yes, my shop does and I need to script checking for it. I also know I could just inverse the the logic and call the LV mirrored if the LPs and PPs were not equal. But I want to do the math in the if test and also know I could... (5 Replies)
Discussion started by: gtsonoma
5 Replies
DD(1)							      General Commands Manual							     DD(1)

NAME
dd - convert and copy a file SYNOPSIS
dd [option=value] ... DESCRIPTION
Dd copies the specified input file to the specified output with possible conversions. The standard input and output are used by default. The input and output block size may be specified to take advantage of raw physical I/O. option values if= input file name; standard input is default of= output file name; standard output is default ibs=n input block size n bytes (default 512) obs=n output block size (default 512) bs=n set both input and output block size, superseding ibs and obs; also, if no conversion is specified, it is particularly effi- cient since no copy need be done cbs=n conversion buffer size skip=n skip n input records before starting copy files=n copy n files from (tape) input seek=n seek n records from beginning of output file before copying count=n copy only n input records conv=ascii convert EBCDIC to ASCII ebcdic convert ASCII to EBCDIC ibm slightly different map of ASCII to EBCDIC lcase map alphabetics to lower case ucase map alphabetics to upper case swab swap every pair of bytes noerror do not stop processing on an error sync pad every input record to ibs ... , ... several comma-separated conversions Where sizes are specified, a number of bytes is expected. A number may end with k, b or w to specify multiplication by 1024, 512, or 2 respectively; a pair of numbers may be separated by x to indicate a product. Cbs is used only if ascii or ebcdic conversion is specified. In the former case cbs characters are placed into the conversion buffer, con- verted to ASCII, and trailing blanks trimmed and new-line added before sending the line to the output. In the latter case ASCII characters are read into the conversion buffer, converted to EBCDIC, and blanks added to make up an output record of size cbs. After completion, dd reports the number of whole and partial input and output blocks. For example, to read an EBCDIC tape blocked ten 80-byte EBCDIC card images per record into the ASCII file x: dd if=/dev/rmt0 of=x ibs=800 cbs=80 conv=ascii,lcase Note the use of raw magtape. Dd is especially suited to I/O on the raw physical devices because it allows reading and writing in arbitrary record sizes. To skip over a file before copying from magnetic tape do (dd of=/dev/null; dd of=x) </dev/rmt0 SEE ALSO
cp(1), tr(1) DIAGNOSTICS
f+p records in(out): numbers of full and partial records read(written) BUGS
The ASCII/EBCDIC conversion tables are taken from the 256 character standard in the CACM Nov, 1968. The `ibm' conversion, while less blessed as a standard, corresponds better to certain IBM print train conventions. There is no universal solution. Newlines are inserted only on conversion to ASCII; padding is done only on conversion to EBCDIC. These should be separate options. DD(1)
All times are GMT -4. The time now is 12:27 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy