public inbox for linux-xfs@vger.kernel.org
 help / color / mirror / Atom feed
From: David Chinner <dgc@sgi.com>
To: "Christian Røsnes" <christian.rosnes@gmail.com>
Cc: xfs@oss.sgi.com
Subject: Re: inode size benchmarking
Date: Tue, 12 Feb 2008 23:15:18 +1100	[thread overview]
Message-ID: <20080212121518.GD155407@sgi.com> (raw)
In-Reply-To: <1a4a774c0802120337x55fa2eb6qb7d52511fba3d11c@mail.gmail.com>

On Tue, Feb 12, 2008 at 12:37:36PM +0100, Christian Røsnes wrote:
> I'm trying to figure out how different inode sizes on my system
> affect the time it takes to:
> 
>   1) Create <n1> directories each with <n2> files (using different file sizes)
> 
>   2) Read all the files from dir1,
>           all the files from dir2,
>           ...
> 
>   3) Read file1 from dir1,
>           file1 from dir2,
>           ...
>           file2 from dir1,
>           file2 from dir2,
>           ...

Ok, and destination file names are "file.XXX" so there's about 12
bytes per shorform dir entry. That means the 2k inodes hold all the
100 files in them directly. That's the only on disk difference that
changing the inode size will make, and it clearly does not explain
a 50% difference in perfomrance between 256 byte and 2k inodes in
these tests.

> The test server used:
> 
>  * Debian 4 (Etch)
>  * Kernel: Debian 2.6.18-6-amd64 #1 SMP Wed Jan 23 06:27:23 UTC 2008
> x86_64 GNU/Linux
>  * CPU: Intel(R) Xeon(R) CPU           E5405  @ 2.00GHz
>  * MEM: 4GB RAM
>  * DISK: DELL MD1000 7 disks (1TB SATA) in RAID5. PERC6/E controller
>  * The test partition is 6TB.
                           ^^^

This does, though.

With 256 byte inodes, the allocator changes behaviour at filesystem
sizes > 1TB to keep inodes at smaller than 32 bits. This change
means that data is no longer close to the inodes, thereby seeking
the disks more as it moves between writing data and writing inodes.

With 2k inodes, that change doesn't occur until 8TB in size (as that
is the 32bit inode number limit with 2k inodes), so the allocator is
still keeping inode+data locality as close as possible on a fs size
of 6TB.

I suggest running the 256 byte inode numbers again with the "inode64"
mount option (so the allocator behaves the same as for 2k inodes) and
seeing how much difference remains....

Cheers,

Dave.
-- 
Dave Chinner
Principal Engineer
SGI Australian Software Group

  reply	other threads:[~2008-02-12 12:15 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-02-12 11:37 inode size benchmarking Christian Røsnes
2008-02-12 12:15 ` David Chinner [this message]
2008-02-12 13:51   ` Christian Røsnes

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=20080212121518.GD155407@sgi.com \
    --to=dgc@sgi.com \
    --cc=christian.rosnes@gmail.com \
    --cc=xfs@oss.sgi.com \
    /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