I'm facing the issue about the performance degradation, and once I glanced that changing the value in /proc/sys
/vm/vfs_cache_pressure will do a favour.
Can anyone explain to me whether and why it is useful?
Hi,
When this is set to a lower value the kernel will try to keep the inode/dentry cache longer in memory.
Since the swift replicator is scanning the filesystem continuously it will eat up a lot of iops if those are not in memory.
To see if a lot of cache misses are happening, for xfs, you can look at xs_dir_lookup and xs_ig_missed.
( look at http://xfs.org/index.php/Runtime_Stats )
We greatly benefited from setting this to a low value but we have quite a lot of files on a node ( 30 million)
Note that setting this to zero will result in the OOM killer killing the machine sooner or later.
(especially if files are moved around due to a cluster change ;)
Cheers,
Robert van Leeuwen