What are the differences between General Purpose and Max I/O performance modes in Amazon EFS?
Last updated: 2020-09-18
Amazon Elastic File System (Amazon EFS) has two performance modes, General Purpose and Max I/O. What are the differences between the two performance modes and how do I determine which mode to use?
The performance modes differ in the following aspects:
- Number of file system operations per second
In General Purpose performance mode, read and write operations consume a different number of file operations. Read data or metadata consumes one file operation. Write data or update metadata consumes five file operations. A file system can support up to 35,000 file operations per second. This might be 35,000 read operations, 7,000 write operations, or a combination of the two. For more information, see Amazon EFS quotas and limits - Quotas for Amazon EFS file systems.
- Max I/O performance mode
Max I/O performance mode doesn't have a file system operations limit. Use the Max I/O performance mode if you have a very high requirement of file system operations per second.
- Latency per file system operation
General Purpose performance mode has the lower latency of the two performance modes and is suitable if your workload is sensitive to latency. Max I/O performance mode offers a higher number of file system operations per second but has a slightly higher latency per each file system operation.
For more information, including additional use cases, see Amazon EFS performance - Performance modes.
Note: You can't change the file system performance mode after creating the file system. There are no additional costs for either performance mode, and AWS bills each mode the same way.
To determine which performance mode to use, create a file system using General Purpose mode. Then, run a performance test for a period of time. Monitor the file system operations to determine how close your file system is to reaching 100% of the I/O limit. If you're close to the maximum for a long time, consider using the Max I/O mode. If you decide to migrate your data to a file system using a different performance mode, use DataSync to transfer your files to a different Amazon EFS file system.
Create a file system with General Purpose performance mode
Note: General Purpose is the default performance mode.
- Open the Amazon EFS console.
- Choose Create file system.
- Choose Customize.
- Select General Purpose for the Performance mode.
- You can also add tags, configure a Lifecycle policy, select a throughput mode, and enable encryption.
- Choose Next.
- Review the summary of your configuration settings, and then choose Create.
Monitor the maximum file system operations using Amazon CloudWatch metrics
The PercentIOLimit CloudWatch metric monitors how close a file system is to hitting its maximum file system operations per second limit. This metric is available only for file systems running with General Purpose performance mode. A General Purpose performance mode file system hits 100% PercentIOLimit when it reaches the 35,000 file system operations per second limit.
To check the PercentIOLimit:
- Open the CloudWatch console.
- Select Metrics.
- In the search bar, enter your file system ID, and then press ENTER. The relevant metrics for that file system appear.
- Select EFS, and then choose File System Metrics.
- Select PercentIOLimit. The PercentIOLimit metric displays your file system operations per second usage. 35,000 file system operations equal a PercentIOLimit of 100%. The 35,000 operations might be 35,000 read operations, 7,000 write operations or a combination of the two.