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
HT(4)							     Kernel Interfaces Manual							     HT(4)

NAME
ht - RH-11/TU-16 magtape interface DESCRIPTION
The files mt0, mt1, ... refer to the DEC RH/TM/TU16 magtape. When opened for reading or writing, the tape is not rewound. When closed, it is rewound (unless the 0200 bit is on, see below). If the tape was open for writing, a double end-of-file is written. If the tape is not to be rewound the tape is backspaced to just between the two tapemarks. A standard tape consists of a series of 512 byte records terminated by a double end-of-file. To the extent possible, the system makes it possible, if inefficient, to treat the tape like any other file. Seeks have their usual meaning and it is possible to read or write a byte at a time. Writing in very small units is inadvisable, however, because it tends to create monstrous record gaps. The last octal digit of the minor device number selects the drive. The middle digit selects a controller. The initial digit is even to select 800 BPI, odd to select 1600 BPI. If the 0200 bit is on (initial digit 2 or 3), the tape is not rewound on close. Note that the minor device number has no necessary connection with the file name, and in fact tp(1) turns the short name x into `/dev/mtx'. The mt files discussed above are useful when it is desired to access the tape in a way compatible with ordinary files. When foreign tapes are to be dealt with, and especially when long records are to be read or written, the `raw' interface is appropriate. The associated files may be named rmt0, ..., rmt7, but the same minor-device considerations as for the regular files still apply. Each read or write call reads or writes the next record on the tape. In the write case the record has the same length as the buffer given. During a read, the record size is passed back as the number of bytes read, provided it is no greater than the buffer size; if the record is long, an error is indicated. In raw tape I/O, the buffer must begin on a word boundary and the count must be even. Seeks are ignored. A zero count is returned when a tape mark is read; another read will fetch the first record of the next tape file. FILES
/dev/mt?, /dev/rmt? SEE ALSO
tp(1) BUGS
The magtape system is supposed to be able to take 64 drives. Such addressing has never been tried. Taking a drive off line, or running off the end of tape, while writing have been known to hang the system. If any non-data error is encountered, it refuses to do anything more until closed. In raw I/O, there should be a way to perform forward and backward record and file spacing and to write an EOF mark explicitly. HT(4)
All times are GMT -4. The time now is 12:43 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy