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
mtx(8)							      System Manager's Manual							    mtx(8)

Name
       mtx - generic magtape exerciser

Syntax
       /usr/field/mtx [ options ] -adev
       /usr/field/mtx [ options ] -sdev
       /usr/field/mtx [ options ] -ldev
       /usr/field/mtx [ options ] -vdev

Description
       The  exerciser will write, read, and validate random data on the specified magnetic tape device from beginning of tape (BOT) to end of tape
       (EOT).  There are four record length modes in which to run the exerciser.  The modes are short (512 bytes), long  (10240  bytes),  variable
       (512-20480 bytes), and all of these three in sequence.

       The exerciser will run until or a kill -15 pid is sent to the process.

       A  logfile  is  made in for you to examine and then remove. If there are errors in the logfile, check the file, where the driver and kernel
       error messages are saved.

       An enhanced tape exerciser called provides more comprehensive tape testing than this exerciser.	Refer to for a complete description.

Options
       The mtx options are:

       -h	 Print help message for the command.

       -ofile	 Save diagnostic output in file.

       -ti	 Run time in minutes (i).  The default is to run until the process receives a or kill -15 pid.

       -rj	 Record length for long-record test.  May range from 1 - 20480; the default is 10240 bytes.

       -fk	 Size of file in records.  The default is -1, go to end-of-tape.

Arguments
       You must specify one of the following function flags and its argument to the exerciser.

       -adev	 Perform short, long, and variable-length record tests on the dev, a raw device name and unit number.  For example, -armt0h.

       -sdev	 Perform short (512-byte) record length test.  The dev argument is a raw device name and unit number.  For example, -srmt0h.

       -ldev	 Perform long (10240-byte) record length test.	The dev argument is a raw device name and unit number.	For example -lrmt0h.

       -vdev	 Perform variable record length test (records vary from 512 bytes to 20480 bytes).  The dev argument is a raw device name and unit
		 number.  For example, -vrmt0h.

Restrictions
       If  there  is  a  need to run a system exerciser over an NFS link or on a diskless system there are some restrictions.  For exercisers that
       need to write into a file system, such as the target file system must be writable by root.  Also the directory, in which any of	the  exer-
       cisers  are  executed,  must be writable by root because temporary files are written into the current directory.  These latter restrictions
       are sometimes difficult to overcome because often NFS file systems are mounted in a way that prevents root from writing into them.  Some of
       the restrictions may be overcome by copying the exerciser to another directory and then executing it.

       The following restrictions apply to the SCSI tape drives.  The Magnetic Tape Exerciser (MTX) runs the tape in start/stop mode; that is, the
       tape does not stream. Therefore, MTX should not run for extended periods of time (two hours maximum run time). In addition,  MTX  does  not
       handle the end of tape properly.

Examples
       This example runs short, long, and variable-length tests on rmt0h until the process receives a or kill -15 pid:
       % /usr/field/mtx -armt0h
       The following example runs a long-record length test on rmt0h for 240 minutes in the background:
       % /usr/field/mtx -lrmt0h -t240 &

See Also
       tapex(8)
       Guide to System Exercisers

																	    mtx(8)
All times are GMT -4. The time now is 08:41 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy