From: Ming Zhang <mingz@ele.uri.edu>
To: Michael Tokarev <mjt@tls.msk.ru>
Cc: Holger Kiehl <Holger.Kiehl@dwd.de>, Jens Axboe <axboe@suse.de>,
Vojtech Pavlik <vojtech@suse.cz>,
linux-raid <linux-raid@vger.kernel.org>,
linux-kernel <linux-kernel@vger.kernel.org>
Subject: Re: Where is the performance bottleneck?
Date: Wed, 31 Aug 2005 14:52:20 -0400 [thread overview]
Message-ID: <1125514340.6617.7.camel@localhost.localdomain> (raw)
In-Reply-To: <4315F18A.1060709@tls.msk.ru>
[-- Attachment #1: Type: text/plain, Size: 2478 bytes --]
join the party. ;)
8 400GB SATA disk on same Marvel 8 port PCIX-133 card. P4 CPU.
Supermicro SCT board.
# cat /proc/mdstat
Personalities : [linear] [raid0] [raid1] [raid5] [multipath] [raid6]
[raid10] [faulty]
md0 : active raid0 sdh[7] sdg[6] sdf[5] sde[4] sdd[3] sdc[2] sdb[1] sda
[0]
3125690368 blocks 64k chunks
8 DISK RAID0 from same slot and card. Stripe size is 512KB.
run oread
# vmstat 1
procs -----------memory---------- ---swap-- -----io---- --system-- ----
cpu----
r b swpd free buff cache si so bi bo in cs us sy
id wa
1 1 0 533216 330424 11004 0 0 7128 1610 1069 77 0 2
95 3
1 0 0 298464 560828 11004 0 0 230404 0 2595 1389 1
23 0 76
0 1 0 64736 792248 11004 0 0 231420 0 2648 1342 0
26 0 74
1 0 0 8948 848416 9696 0 0 229376 0 2638 1337 0
29 0 71
0 0 0 868896 768 9696 0 0 29696 48 1224 162 0 19
73 8
# time ./oread /dev/md0
real 0m6.595s
user 0m0.004s
sys 0m0.151s
run dd
# vmstat 1
procs -----------memory---------- ---swap-- -----io---- --system-- ----
cpu----
r b swpd free buff cache si so bi bo in cs us sy
id wa
2 2 0 854008 2932 17108 0 0 7355 1606 1071 80 0 2
95 3
0 2 0 848888 3112 21388 0 0 164332 0 2985 3564 2
7 0 91
0 2 0 844024 3260 25664 0 0 164040 0 2990 3665 1
7 0 92
0 2 0 840328 3380 28920 0 0 164272 0 2932 3791 1
9 0 90
0 2 0 836360 3500 32232 0 0 163688 100 3001 5045 2
7 0 91
0 2 0 831432 3644 36612 0 0 164120 568 2977 3843 0
9 0 91
0 1 0 826056 3752 41688 0 0 7872 0 1267 1474 1 3
0 96
# time dd if=/dev/md0 of=/dev/null bs=131072 count=8192
8192+0 records in
8192+0 records out
real 0m4.771s
user 0m0.005s
sys 0m0.973s
so the reasonable thing here is because of O_DIRECT, the sys time
reduced a lot.
but the time is longer! the reason i found is...
i attached a new oread.c which allow to set block size of each read and
total read count. so i read full strip once a time,
# time ./oread /dev/md0 524288 2048
real 0m4.950s
user 0m0.000s
sys 0m0.131s
compared to
# time ./oread /dev/md0 131072 8192
real 0m6.633s
user 0m0.002s
sys 0m0.191s
but still, I can get linear speed at 4 DISKS, then no speed gain when
adding more disk into the RAID.
Ming
[-- Attachment #2: oread.c --]
[-- Type: text/x-csrc, Size: 673 bytes --]
#include <stdio.h>
#include <stdlib.h>
#define __USE_GNU
#include <fcntl.h>
#include <stdlib.h>
#include <unistd.h>
#define ALIGN(buf) (char *) (((unsigned long) (buf) + 4095) & ~(4095))
int main(int argc, char *argv[])
{
char *p;
int fd, i;
int BS, BLOCKS;
if (argc < 4) {
printf("%s: <dev> bs cnt\n", argv[0]);
return 1;
}
BS = atoi(argv[2]);
BLOCKS = atoi(argv[3]);
fd = open(argv[1], O_RDONLY | O_DIRECT);
if (fd == -1) {
perror("open");
return 1;
}
p = ALIGN(malloc(BS + 4095));
for (i = 0; i < BLOCKS; i++) {
int r = read(fd, p, BS);
if (r == BS)
continue;
else {
if (r == -1)
perror("read");
break;
}
}
return 0;
}
next prev parent reply other threads:[~2005-08-31 18:52 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-08-29 18:20 Where is the performance bottleneck? Holger Kiehl
2005-08-29 19:54 ` Mark Hahn
2005-08-30 19:08 ` Holger Kiehl
2005-08-30 23:05 ` Guy
2005-09-28 20:04 ` Bill Davidsen
2005-09-30 4:52 ` Guy
2005-09-30 5:19 ` dean gaudet
2005-10-06 21:15 ` Bill Davidsen
2005-08-29 20:10 ` Al Boldi
2005-08-30 19:18 ` Holger Kiehl
2005-08-31 10:30 ` Al Boldi
2005-08-29 20:25 ` Vojtech Pavlik
2005-08-30 20:06 ` Holger Kiehl
2005-08-31 7:11 ` Vojtech Pavlik
2005-08-31 7:26 ` Jens Axboe
2005-08-31 11:54 ` Holger Kiehl
2005-08-31 12:07 ` Jens Axboe
2005-08-31 13:55 ` Holger Kiehl
2005-08-31 14:24 ` Dr. David Alan Gilbert
2005-08-31 20:56 ` Holger Kiehl
2005-08-31 21:16 ` Dr. David Alan Gilbert
2005-08-31 16:20 ` Jens Axboe
2005-08-31 15:16 ` jmerkey
2005-08-31 16:58 ` Tom Callahan
2005-08-31 16:58 ` Tom Callahan
2005-08-31 15:47 ` jmerkey
2005-08-31 17:11 ` Jens Axboe
2005-08-31 15:59 ` jmerkey
2005-08-31 17:32 ` Jens Axboe
2005-08-31 16:51 ` Holger Kiehl
2005-08-31 17:35 ` Jens Axboe
2005-08-31 19:00 ` Holger Kiehl
2005-08-31 18:06 ` Michael Tokarev
2005-08-31 18:52 ` Ming Zhang [this message]
2005-08-31 18:57 ` Ming Zhang
2005-08-31 12:24 ` Nick Piggin
2005-08-31 16:25 ` Holger Kiehl
2005-08-31 17:25 ` Nick Piggin
2005-08-31 21:57 ` Holger Kiehl
2005-09-01 9:12 ` Holger Kiehl
2005-09-02 14:28 ` Al Boldi
2005-08-31 13:38 ` Holger Kiehl
2005-08-29 23:09 ` Peter Chubb
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1125514340.6617.7.camel@localhost.localdomain \
--to=mingz@ele.uri.edu \
--cc=Holger.Kiehl@dwd.de \
--cc=axboe@suse.de \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-raid@vger.kernel.org \
--cc=mjt@tls.msk.ru \
--cc=vojtech@suse.cz \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.