Test
A simple test tool was written to test the maximal NFSv4 mount allowed and the maximum NFSv4 export a server can perform. It creates and exports a directory on a server and mounts it on the client. It repeats the operation up to 5000 time. Each export time is measured (from the client) and the resulting graph is displayed below br>
The previous tests shows a performance issue. A patch has been written. The patch changes the the simple chained list of exported directories into a hashed table. This test tries to measure the influence of the patch on export performance.
br>
First diagram : the same test is done with a the old version of export (based on lists) and the patched one (based on hash tables). Hashed table are clearly better than lists when number of export is less than 4600.
Second diagram. Apparent complexity of the patched exportfs is O(nē). Interpolated curb is t(n)=0.00000013*nē-0.00010104*n+0.44610214 (In blue)
br>
Conclusion
This patch enhance the performances of directories exports after the limit seen in the previous test. However performances are not good enought. The use of a larger hashed table may enhance performances.
br>
Software configuration
- Server :
- Export options are :
/export *(rw,wdelay,insecure,no_root_squash,no_subtree_check,fsid=0)
- mount options, NFSv4 :
rsize=32768,wsize=32768,timeo=14,intr,noauto
- Linux 2.6.12-rc4-CITI_NFS4_ALL-1
- nfs-util patch used for this test
hardware configuration
(Client and Server) br>
- 2 processors : Intel(R)
- Xeon(TM) CPU 2.80GHz, cache 512 KB
- Total memory: 2Gb
- Ethernet: 1Gb/s link
- Distribution : modified Fedora Core 2