[OpenAFS] Re: Performance issues with Git repositories (or in general with many small files workloads)

Ciprian Dorin Craciun ciprian.craciun@gmail.com
Thu, 17 Dec 2020 01:10:54 +0200


After fiddling with the `fileserver` arguments, I think the
problematic ones were `-p 128` and `-vhandle-max-cachesize 32768`, and
perhaps the too large `-b`, `-l` and `-s`.  (Also I've switched back
to the non direct-attached variant of the servers.)

The new arguments I'm using are:
~~~~
/usr/lib/openafs/fileserver -syslog \
-sync onclose \
-p 16 \
-udpsize 67108864 -sendsize 67108864 \
-rxpck 65536 -rxmaxmtu 1400 \
-cb 1048576 -busyat 65536 \
-vc 4096 -b 4096 -l 65536 -s 262144
~~~~

Apparently by using these new options things work much better now, as
in I can now get ~500 KiB/s where previously I had only ~20 KiB/s
throughput.  Although depending on the repository I can even obtain
~10 or ~20 MiB/s if it contains larger files.

Now regarding the arguments, what is exactly `vhandle`?  The
documentation hints about "file handles";  are these the actual OS
file-handles?

Is there perhaps a bottleneck for large values of the block and vnode caches?

Thanks,
Ciprian.