[OpenAFS] Optimization for Throughput
Joseph Kulisics
kulisics@chem.ucla.edu
Tue, 10 Oct 2006 10:14:36 -0700 (PDT)
Hi,
I've installed and configured OpenAFS, and I've been using it for about
four months. As I've expanded the installation and added new users, I've
begun to receive requests to add entire offices and laboratories. In
preparation to add a very large laboratory, I started to plan how to serve
data to the users of the laboratory. My plan was to convert the
laboratory's existing server into a fileserver in my cell.
I created a volume to store the laboratory's data while I reconfigure
their server, and I started to copy their files into the volume. I became
concerned that the throughput seemed low, and when I started to test the
throughput copying files from an unused AFS server to an AFS client's
local disk, I found that the throughput was about a third or a quarter of
the throughput between the same server and client using scp from a non-AFS
partition on the server to the client's local disk. (In the experiments, I
was transfering a 900 Mb file from one machine to another.)
I had a few questions, and I was hoping that someone could point me to
the correct guides or answers.
Is there a general reason for the low throughput, or does my description
suggest that there might be something wrong with my cell configuration? I
guessed that there might be some kind of performance hit associated with
AFS.
Is there a way to optimize the server or client for high throughput? I
was asking because the data for the laboratory might include some files as
large as 1 Gb, and I wanted to give them as great throughput as possible
in case they needed to copy files from the server. I've been experimenting
with the configuration of the client and server, but I haven't found any
combination of options that seems to noticably improve throughput. I have
to admit that I've been firing blindly; I'm not sure what option might
improve throughput. On the client, I've been experimenting mostly with the
chunksize and the number of servers, and on the server, I've been
experimenting with the rxpck, p, and udpsize options. Am I on the right
track?
I've been thinking about it, and I suppose that when properly used,
users won't be copying files to AFS or from AFS very often; I guess that
they should normally be using the files in place in AFS. Is AFS instead
optimized for this kind of use? Does anyone have experience using large
files in place in AFS? Is the performance good?
If there's a performance tuning guide, a FAQ, or a message thread on the
subject, please, let me know. I looked around the web a lot, but I didn't
find any guide. (Maybe I just haven't found the right search words.)
Thanks,
Joseph Kulisics