From: fitzboy <fitzboy@iparadigms.com>
To: Avi Kivity <avi@argo.co.il>
Cc: linux-kernel@vger.kernel.org
Subject: Re: tuning for large files in xfs
Date: Mon, 22 May 2006 17:40:07 -0700 [thread overview]
Message-ID: <447259E7.8050706@iparadigms.com> (raw)
In-Reply-To: <447212B5.1010208@argo.co.il>
>
> What's your testing methodology?
>
here is my code... pretty simple, opens the file and reads around to a
random block, 32k worth (note, doing a 2k read doesn't make much of a
difference, only marginal, from 6.7ms per seek down to 6.1).
int main (int argc, char* argv[]) {
char buffer[256*1024];
int fd = open(argv[1],O_RDONLY);
struct stat s;
fstat(fd,&s);
s.st_size=s.st_size-(s.st_size%256*1024);
initTimers();
srandom(startSec);
long long currentPos;
int currentSize=32*1024;
int startTime=getTimeMS();
for (int currentRead = 0;currentRead<10000;currentRead++) {
currentPos=random();
currentPos=currentPos*currentSize;
currentPos=currentPos%s.st_size;
if (pread(fd,buffer,currentSize,currentPos) != currentSize)
std::cout<<"couldn't read in"<<std::endl;
}
std::cout << "blocksize of
"<<currentSize<<"took"<<getTimeMS()-startTime<<" ms"<<std::endl;
}
> You can try to measure the amount of seeks going to the disk by using
> iostat, and see if that matches your test program.
>
I used iostat and found exactly what I was expecting: 10,000 rounds x 16
(number of 2k blocks in a 32k read) x 4 (number of 512 blocks per 2k
block) = 640,000 reads, which is what iostat told me. so now my question
remains, if each seek is supposed to average 3.5ms, how come I am seeing
an average of 6-7ms?
next prev parent reply other threads:[~2006-05-23 0:40 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-05-22 18:57 tuning for large files in xfs fitzboy
2006-05-22 19:15 ` Avi Kivity
2006-05-22 19:32 ` fitzboy
2006-05-22 19:36 ` Avi Kivity
2006-05-23 0:40 ` fitzboy [this message]
2006-05-23 8:05 ` Avi Kivity
2006-05-23 20:21 ` fitzboy
2006-05-24 8:12 ` Avi Kivity
2006-05-22 22:22 ` Miquel van Smoorenburg
2006-05-22 22:30 ` Matheus Izvekov
2006-05-23 0:42 ` fitzboy
2006-05-23 1:07 ` Matheus Izvekov
2006-05-22 22:51 ` Nathan Scott
2006-05-23 0:49 ` fitzboy
2006-05-23 1:59 ` Nathan Scott
2006-05-24 1:41 ` fitzboy
2006-05-24 2:23 ` Nathan Scott
2006-05-25 19:15 ` fitzboy
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=447259E7.8050706@iparadigms.com \
--to=fitzboy@iparadigms.com \
--cc=avi@argo.co.il \
--cc=linux-kernel@vger.kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox