[Gluster-users] GlusterFS 3.0.2 small file read performance benchmark
Ed W
lists at wildgooses.com
Mon Mar 1 20:44:53 UTC 2010
On 27/02/2010 18:56, John Feuerstein wrote:
> It would be really great if all of this could be cached within io-cache,
> only falling back to a namespace query (and probably locking) if
> something wants to write to the file, or if the result is longer than
> cache-timeout seconds in the cache. So even if the file has been
> renamed, is unlinked, has changed permissions / metadata - simply take
> the version of the io-cache until it's invalidated. At least that is
> what I would expect the io-cache to do. This will introduce a
> discrepancy between the cached file version and the real version in the
> global namespace, but isn't that what one would expect from caching...?
>
I believe samba (and probably others) use a two way lock escalation
facility to mitigate a similar problem. So you can "read-lock" or
phrased differently, "express your interest in caching some
files/metadata" and then if someone changes what you are watching the
lock break is pushed to you to invalidate your cache.
It seems like something similar would be a candidate for implementation
with the gluster native clients?
You still have performance issues with random reads because when you try
to open some file and you still need to check it's not open/locked/needs
replicating from some other brick. However, what you can do is have
proactive caching with an active notification of any cache invalidation
and this benefits the situation where you re-read stuff you already
read, and/or you have an effective read-ahead which is grabbing stuff
for you
Interesting problem
Ed W
More information about the Gluster-users
mailing list