Re: read-ahead in NFS server

From: Jeff Garzik
Date: Thu Dec 27 2007 - 06:55:01 EST


saeed bishara wrote:
(linux-nfs added to cc)

I cannot speak for the NFS server code specifically, but 32kb sounds
like a network read (or write) data size limit.
yes
Are you using TCP? Are you using NFSv4, or an older version?
I'm using NFSv3/UDP.

IMO, you definitely want TCP and NFSv4. Much better network behavior, with some of the silly UDP limits (plus greatly improved caching behavior, due to v4 delegations).


I found that the actual requests size was 16KB, after doing some hacks
in server&client I managed to make it 60KB, now I see better
performance, and I see that the average request size is ~130KB which
means that there is actually read-ahead. but why it's only 130KB? how
can I make it larger?
when I run local dd with bs=4K, I can see that the average IO size is
more than 300KB.

Read-ahead is easier in NFSv4, because the client probably has the file delegated locally, and has far less need to constantly revalidate file mapping(s).

Jeff



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/