ECS: Best practices for mounting NFS exports
Summary: Best practices for mounting ECS NFS exports
Instructions
The following best practices apply when you mount ECS NFS exports.
Use async.
Whenever possible, use the async mount option. This option dramatically reduces latency, improves throughput, and reduces the number of connections from the client.
Set wsize and rsize to reduce round trips from the client.
Where you expect to read or write large files, ensure that the read or write size of files is set appropriately using the rsize and wsize mount options. Usually, you set the wsize and rsize options to the highest possible value to reduce the number of round trips from the client. This is typically 512 KB (524,288 B).
For example, to write a 10 MB file, if the wsize option is set to 524288 (512 KB), the client makes 20 separate calls. If the write size is set as 32 KB this results in 16 times as many calls.
When using the mount command, you can supply the read and write size using the options (-o) switch. For example:# mount <ECS IP ADDRESS>:<Remote Path> <Local Mount Point> -o "vers=3,nolock,rsize=524288,wsize=524288"
Use unique file names.
Whenever possible, we recommend using unique file names - following some strategy such as a prefix or suffix of server name, date, day of the week, time, to the filename.
For example, avoid using a filename like "backup" for copying many server backups to ECS all at the same day/time using NFS, as this combined action could cause not just high memory pressure causing the OS to restart multiple services on multiple nodes. It could also saturate disk I/O bandwidth causing an impact on other ECS activities. Spreading the copying of the backups across the week provide a better overall experience.
Frequently overwriting files with the same name can cause high memory usage to construct the images in memory for the current state of the object. We have also seen issues with metering showing delays in the values as the metering updates the positive reference from the additional object and negative values are adjusted by index compression.