Performance Optimization Guide
For best performance, we recommend running on ObjectiveFS on servers with at least 2GB of RAM and 2 cpus.
Performance Recommendations
1. Use a larger memory cache
- Use >500MB memory cache for best performance when using hpc mode. Larger memory cache gives better performance.
- Memory cache can be adjusted using the
CACHESIZE
environment variable. - Reference: Memory Cache User Guide
2. Enable disk cache
- Use the local instance store SSD as disk cache.
- The disk cache maintains good performance even with a smaller memory cache and reduces the number of S3 operations.
- Reference: Disk Cache User Guide, Instance Store Disk Cache Setup Guide
3. Run your servers in the same region as your object store
- Running your servers in the same region as your object store (e.g. S3 bucket) gives you lower latency and higher bandwidth.
4. Enable hpc mode
- The high performance computing (hpc) mode is a mount option that can be enabled with
-o hpc
. - Enabling hpc assumes the server is running in the same region as the object store.
- For large sequential reads/writes, we typically see 100+MB/s per mount for larger instance type. If you see less than 100+MB/s, please let us know and we can work with you.
$ mount.objectivefs -o hpc <filesystem> <directory>
5. Enable multithreading
- Multithreading can lower latency and improve throughput for your workload.
- Multithreading is a mount option and can be enabled with
-o mt
.$ mount.objectivefs -o mt <filesystem> <directory>
- You can also configure the number of CPU and IO threads explicitly by using the
cputhreads
andiothreads
options (see user guide). - Reference: Multithreading User Guide, Mount options
6. Exclude your filesystem from programs that regularly scan directories
- If your server runs programs that scan the filesystem, such as mlocate, we recommend excluding your ObjectiveFS directories from the scan for best performance.
- Reference: How to exclude your filesystem from mlocate scanning
7. Performance testing considerations
-
/dev/random
or/dev/urandom
can sometimes become the bottleneck during the filesystem performance testing. We recommend pre-generating the random data in/tmp
and copy them to your filesystem for an accurate measurement. -
/dev/zero
will be compressed.
Reference
Last updated by ObjectiveFS staff, April 25, 2016
ObjectiveFS is a shared file system for OS X and Linux that automatically scales and gives you scalable cloud storage. If you have questions or article idea suggestions, please email us at お問い合わせはこちら