[gpfsug-discuss] Mitigating Poor Small-file I/O Performance
Alex Chekholko
chekh at stanford.edu
Wed May 21 21:04:52 BST 2014
Hi Stewart,
First, a good simple reproducible benchmark is fdtree:
https://computing.llnl.gov/?set=code&page=sio_downloads
Something simple like this should take a min or two:
bash fdtree.bash -l 3 -s 64
Or the same exact small run can take up to hours on a slow system.
For GPFS, since it's a clustered filesystem, first you need to make sure
you're looking at the aggregate performance and not just on one client.
Perhaps your filesystem is performing great, but it's maxed out at
that moment when you run your test from your single client. So you need
to be able to monitor the disk system.
In general, the answer to your question is, in order of simplicity: add
more spindles, possibly also separate the metadata out to separate
storage, possibly make your filesystem block size smaller.
The first you can do by adding more hardware, the second is easier when
you design your whole system, though possible to do on a running
filesystem. The third can only be done at filesystem creation.
For "small files", how "small" is "small". I guess generally we mean
smaller than filesystem block size.
Regards,
Alex
On 5/20/14, 7:17 AM, Howard, Stewart Jameson wrote:
> Hi All,
>
> My name is Stewart Howard and I work for Indiana University as an admin
> on a two-site replicated GPFS cluster. I'm a new member of this mailing
> list and this is my first post :)
>
> Recently, we've discovered that small-file performance on our system is
> pretty lack-luster. For comparison, here are some numbers:
>
> 1) When transferring large files (~2 GB), we get outstanding
> performance and can typically saturate the client's network connection.
> We generally see about 490 MB/s over a 10Gb line, which should be about
> right, given that we lose half of our bandwidth to replication.
>
> 2) When transferring a large number of small files, we get a very poor
> transfer rate, generally on the order of 2 MB/s, writing from a client
> node *inside* the GPFS cluster.
>
> I'm wondering if anyone else has experience with similar performance
> issues and what ended up being the cause/solution. Also, I would be
> interested in hearing any general rules-of-thumb that the group has
> found helpful in balancing performance between large-file and small-file
> I/O.
>
> We have gathered some diagnostic information while performing various
> small-file I/O operations, as well as a variety of metadata operations
> in quick succession. I'd be happy to share results of the diagnostics,
> if it would help provide context.
>
> Thank you so much for all of your help!
>
> Stewart Howard
> Indiana University
>
>
>
>
> _______________________________________________
> gpfsug-discuss mailing list
> gpfsug-discuss at gpfsug.org
> http://gpfsug.org/mailman/listinfo/gpfsug-discuss
>
--
chekh at stanford.edu 347-401-4860
More information about the gpfsug-discuss
mailing list