You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

43 lines
1.9 KiB

  1. # Tweaking Performance
  2. mergerfs is at its is a proxy and therefore its theoretical max
  3. performance is that of the underlying devices. However, given it is a
  4. FUSE based filesystem working from userspace there is an increase in
  5. overhead relative to kernel based solutions. That said the performance
  6. can match the theoretical max but it depends greatly on the system's
  7. configuration. Especially when adding network filesystems into the mix
  8. there are many variables which can impact performance. Device speeds
  9. and latency, network speeds and latency, concurrency and parallel
  10. limits of the hardware, read/write sizes, etc.
  11. While some settings can impact performance they are all **functional**
  12. in nature. Meaning they change mergerfs' behavior in some way. As a
  13. result there is no such thing as a "performance mode".
  14. If you're having performance issues please look over the suggestions
  15. below and the [benchmarking section.](benchmarking.md)
  16. NOTE: Be sure to [read about these features](config/options.md) before
  17. changing them to understand how functionality will change.
  18. * test theoretical performance using `nullrw` or mounting a ram disk
  19. * increase readahead: `readahead=1024`
  20. * disable `security_capability` and/or `xattr`
  21. * increase cache timeouts `cache.attr`, `cache.entry`, `cache.negative_entry`
  22. * enable (or disable) page caching (`cache.files`)
  23. * enable `parallel-direct-writes`
  24. * enable `cache.writeback`
  25. * enable `cache.statfs`
  26. * enable `cache.symlinks`
  27. * enable `cache.readdir`
  28. * change the number of threads available
  29. * disable `posix_acl`
  30. * disable `async_read`
  31. * use `symlinkify` if your data is largely static and read-only
  32. * use tiered cache devices
  33. * use LVM and LVM cache to place a SSD in front of your HDDs
  34. If you come across a setting that significantly impacts performance
  35. please [contact trapexit](support.md) so he may investigate further. Please test
  36. both against your normal setup, a singular branch, and with
  37. `nullrw=true`