This chapter covers Amazon EFS performance modes and throughput modes, critical for optimizing file storage in AWS. You will learn the differences between General Purpose and Max I/O performance modes, and between Bursting, Provisioned, and Elastic throughput modes. Understanding these options is essential for the SAA-C03 exam, as approximately 5-7% of questions involve EFS configuration and performance tuning. Mastering this topic ensures you can design cost-effective, high-performance file systems for various workloads.
Jump to a section
Imagine a file system as a highway system connecting multiple buildings (EC2 instances) to a central warehouse (EFS). The highway has two performance modes: 'General Purpose' and 'Max I/O'. General Purpose is like a standard two-lane highway with speed limits designed for consistent, low-latency traffic. It works well for most daily commutes (latency-sensitive workloads) but can get congested under heavy traffic. Max I/O is like a multi-lane highway with higher speed limits, designed for high-throughput traffic like truck convoys (big data analytics). However, Max I/O has slightly higher latency due to longer distances between exits (metadata operations). The throughput modes are like toll booths: 'Bursting' uses a credit system where you accumulate credits during idle times and spend them during peak traffic, similar to a prepaid toll pass. 'Provisioned' is like paying a fixed toll regardless of usage, guaranteeing a minimum speed. 'Elastic' automatically adjusts toll rates based on real-time traffic, scaling up during rush hour and down at night. The file system's size determines its baseline throughput, just like the number of lanes determines the highway's capacity.
What Are EFS Performance Modes and Why They Exist
Amazon EFS offers two performance modes: General Purpose and Max I/O. These modes determine how the file system handles metadata operations and overall throughput. The choice impacts latency and scalability. General Purpose is the default and is ideal for latency-sensitive applications like web serving, content management, and home directories. Max I/O is designed for high-throughput, parallel workloads like big data analytics, media processing, and scientific computing.
How Performance Modes Work Internally
EFS uses a distributed architecture with multiple storage servers. In General Purpose mode, metadata operations (e.g., file lookups, directory operations) are optimized for low latency. The file system uses a single metadata server to ensure consistency, which can become a bottleneck under high concurrent metadata operations. This mode supports up to 7,000 file operations per second (ops/s) and provides sub-millisecond latency for reads and writes.
In Max I/O mode, EFS scales horizontally by distributing metadata across multiple servers. This allows up to 50,000+ ops/s, but each metadata operation may have slightly higher latency (single-digit milliseconds). The trade-off is higher throughput for parallel workloads at the cost of increased latency for individual operations. Max I/O cannot be changed after creation.
Throughput Modes Explained
EFS offers three throughput modes: Bursting, Provisioned, and Elastic. Throughput is the rate of data transfer (in MiB/s) the file system can sustain.
Bursting Throughput is the default. It uses a credit model similar to EBS gp2. Each file system accumulates throughput credits based on its size. The baseline throughput is 50 MiB/s per 1 TiB of storage. Credits are earned at the baseline rate and consumed when throughput exceeds the baseline. Burst credits allow short bursts up to 100 MiB/s per 1 TiB (for file systems up to 1 TiB). Larger file systems have a higher baseline, reducing burst dependency. The burst credit balance is visible in CloudWatch metrics (BurstCreditBalance). If credits are exhausted, throughput drops to the baseline.
Provisioned Throughput allows you to specify a fixed throughput independent of storage size. You pay for the provisioned amount, even if unused. This is useful for workloads that consistently need high throughput regardless of data stored. Provisioned throughput can be increased or decreased, but changes take effect within minutes.
Elastic Throughput (introduced in 2022) automatically scales throughput up and down based on workload demands. It uses machine learning to predict needs and adjusts without manual intervention. You pay only for the throughput used, with a per-GB-month charge. This mode is ideal for unpredictable workloads. It cannot be used with Provisioned mode.
Key Components, Values, Defaults, and Timers
Default performance mode: General Purpose.
Default throughput mode: Bursting.
Burst credit formula: Each file system starts with an initial credit balance of 2.1 TiB (or 2.1 * 1024 * 1024 MiB = 2,201,216 MiB). Credits are earned at baseline rate (50 MiB/s per TiB) and consumed at actual throughput. The maximum burst duration depends on the burst rate and credit balance.
Provisioned throughput limits: Can be set from 1 MiB/s up to 10 GiB/s (subject to regional limits). Minimum provisioned throughput is 1 MiB/s for file systems up to 1 TiB, and scales linearly for larger sizes.
Elastic throughput: Automatically scales between 1 MiB/s and 10 GiB/s. No manual configuration.
File system size: Measured in TiB for throughput calculations. A file system with 0 bytes still has a baseline of 0 MiB/s (but can burst if credits are available).
Configuration and Verification Commands
Using the AWS CLI, you can create a file system with specific modes:
# Create a file system with General Purpose and Bursting (default)
aws efs create-file-system --creation-token my-fs --performance-mode generalPurpose --throughput-mode bursting --region us-east-1
# Create a file system with Max I/O and Provisioned throughput
aws efs create-file-system --creation-token my-fs2 --performance-mode maxIO --throughput-mode provisioned --provisioned-throughput-in-mibps 100 --region us-east-1
# Modify throughput mode (cannot change performance mode after creation)
aws efs update-file-system --file-system-id fs-12345678 --throughput-mode elastic
# Describe file system to see current settings
aws efs describe-file-systems --file-system-id fs-12345678Output example:
{
"FileSystems": [
{
"OwnerId": "123456789012",
"CreationToken": "my-fs",
"FileSystemId": "fs-12345678",
"PerformanceMode": "generalPurpose",
"ThroughputMode": "bursting",
"ProvisionedThroughputInMibps": null,
"SizeInBytes": {
"Value": 1073741824,
"Timestamp": "2025-01-01T00:00:00Z"
}
}
]
}Interaction with Related Technologies
EFS performance modes and throughput modes interact with:
EFS Access Points: These enforce POSIX identities and root directory per application. They do not affect throughput or performance mode.
EFS Lifecycle Management: Moves files to Infrequent Access (IA) storage after a specified period (30, 60, or 90 days). This reduces storage costs but does not change throughput mode. However, reading from IA incurs retrieval charges and may have higher latency.
EFS Replication: Replicates file system to another region. The replication uses the same throughput mode as the source? Actually, replication uses its own throughput, not consuming the source's burst credits.
VPC and Mount Targets: Each mount target is an ENI in a subnet. Throughput is per file system, not per mount target. Multiple EC2 instances can mount the same file system and share throughput.
EFS Client (NFS): The NFS client version (v4.0 or v4.1) can affect performance. EFS recommends NFS v4.1 for better locking and performance.
Burst Credit Mechanics in Detail
Burst credits are earned and consumed at a rate measured in MiB-seconds. The baseline throughput is (50 MiB/s) * (storage in TiB). For a 1 TiB file system, baseline = 50 MiB/s. If the file system uses 100 MiB/s for 10 seconds, it consumes 100 MiB/s * 10 s = 1000 MiB-s of credits. During that time, it earns 50 MiB/s * 10 s = 500 MiB-s, so net consumption is 500 MiB-s. The initial credit balance is 2.1 TiB-s (2.1 * 1024 * 1024 = 2,201,216 MiB-s). This allows bursting for (credit balance) / (burst rate - baseline). For a 1 TiB file system bursting at 100 MiB/s, burst duration = 2,201,216 / (100 - 50) = 44,024 seconds (~12.2 hours). For larger file systems, the baseline increases, so burst duration decreases for the same burst rate.
When to Use Each Mode
General Purpose: Web servers, content management, home directories, small to medium databases.
Max I/O: Big data analytics, media processing, genomics, high-performance computing (HPC).
Bursting: Variable workloads with idle periods, cost-sensitive applications.
Provisioned: Consistent high throughput, large file systems with low storage but high throughput needs.
Elastic: Unpredictable workloads, no need for manual tuning, pay-per-use.
Create EFS File System
When you create an EFS file system, you first choose the performance mode. This decision is permanent — you cannot change it later. The default is General Purpose. You also select the throughput mode: Bursting (default), Provisioned, or Elastic. For Provisioned, you specify a fixed throughput value. The file system is created with an initial burst credit balance of 2.1 TiB-s if using Bursting mode. The creation process also involves setting up mount targets in at least one subnet (recommended in multiple AZs for high availability). The file system ID (e.g., fs-12345678) is returned.
Mount EFS on EC2 Instances
EC2 instances mount the EFS file system using the NFS protocol. The standard command is `sudo mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2 fs-12345678.efs.us-east-1.amazonaws.com:/ /mnt/efs`. The mount options significantly affect performance: larger `rsize` and `wsize` (up to 1 MiB) improve throughput for large files. The `hard` option ensures retries on failure. Multiple instances can mount the same file system simultaneously, sharing the throughput. Each mount target is an Elastic Network Interface (ENI) in the subnet, providing network connectivity to the EFS service.
Monitor Throughput and Credits
Use CloudWatch metrics to monitor file system performance. Key metrics: `BurstCreditBalance` (for Bursting mode), `Throughput` (actual throughput in bytes), `DataReadIOBytes`, `DataWriteIOBytes`, `MetadataIOBytes`. For Bursting mode, if `BurstCreditBalance` approaches zero, throughput will be throttled to baseline. For Provisioned mode, monitor `ProvisionedThroughput` to ensure it meets demand. For Elastic mode, monitor `ElasticThroughput` to see scaling. Alarms can be set for low credit balance or high throughput approaching limits.
Adjust Throughput Mode
You can change the throughput mode at any time except from Elastic to Provisioned? Actually, you can switch between Bursting and Provisioned, and from either to Elastic. However, switching to Elastic is one-way (cannot revert to Bursting or Provisioned). To change, use the AWS Console, CLI, or SDK. For example, `aws efs update-file-system --file-system-id fs-12345678 --throughput-mode provisioned --provisioned-throughput-in-mibps 200`. The change takes effect within minutes. When switching from Bursting to Provisioned, any remaining burst credits are forfeited.
Scale for High Performance
For workloads requiring high throughput, ensure the file system is in Max I/O mode (if created with it). Use multiple EC2 instances with parallel access. For Bursting mode, larger file sizes increase baseline throughput, reducing reliance on burst credits. For Provisioned mode, set throughput to match peak needs. For Elastic mode, no action needed. Network performance also matters: use instances with enhanced networking (ENA) and place mount targets in the same AZ as instances to reduce latency. For cross-AZ access, latency increases but throughput remains per file system.
Scenario 1: Web Hosting Platform
A company hosts thousands of websites on a fleet of EC2 instances behind an ALB. They use EFS with General Purpose and Bursting throughput to store shared content (HTML, images, CSS). Traffic is variable: low at night, high during business hours. Bursting works well because idle periods accumulate credits, and peak traffic consumes them. However, during a flash sale, traffic spikes unexpectedly, exhausting burst credits. Throughput drops to baseline, causing slow page loads. The solution: switch to Elastic throughput, which automatically scales up during the spike and down afterward, avoiding manual provisioning. The company also enables Lifecycle Management to move infrequently accessed files to IA storage, reducing costs.
Scenario 2: Big Data Analytics
A research lab uses EFS with Max I/O and Provisioned throughput for genomics data processing. The workload involves thousands of parallel reads and writes by compute nodes. Max I/O mode provides the necessary metadata throughput (50,000+ ops/s). Provisioned throughput at 500 MiB/s ensures consistent performance regardless of data size. The lab monitors CloudWatch metrics to ensure provisioned throughput is not exceeded. Misconfiguration: initially they used Bursting, but the constant high throughput exhausted credits, causing throttling and job failures. Switching to Provisioned solved the issue. They also use EFS Replication to copy data to another region for disaster recovery.
Scenario 3: Media Processing Pipeline
A media company processes video files using a distributed transcoding pipeline. They use EFS with General Purpose and Elastic throughput. The workload is unpredictable: some days heavy, others light. Elastic throughput eliminates the need to estimate capacity. They mount EFS on Spot Instances for cost savings. One problem: when Spot Instances are terminated, pending writes may be lost if not properly flushed. They use the hard mount option with intr to allow interrupts. Also, they set actimeo=0 to disable attribute caching, ensuring consistency across instances. Performance is good, but they notice that reads from IA storage are slower and incur retrieval costs, so they tune Lifecycle Management to transition only files older than 90 days.
SAA-C03 Exam Objectives
This topic aligns with Objective 3.5: Determine the appropriate storage solution based on performance and cost. The exam tests your ability to choose the right EFS configuration for given workload characteristics. Expect 2-3 questions directly on performance/throughput modes, plus scenario-based questions involving EFS.
Common Wrong Answers and Traps
Choosing Max I/O for latency-sensitive apps: Many candidates think Max I/O is always better because it supports higher ops/s. However, Max I/O has higher metadata latency, making it unsuitable for web servers or databases that need low latency. The correct choice is General Purpose.
Assuming Bursting provides unlimited throughput: Candidates may believe burst credits are infinite. In reality, they are finite and can be exhausted. The exam presents scenarios where sustained high throughput depletes credits, requiring Provisioned or Elastic.
Thinking Provisioned throughput can be set arbitrarily low: The minimum provisioned throughput is 1 MiB/s for file systems up to 1 TiB. For larger file systems, the minimum is proportional (50 MiB/s per TiB). Candidates might try to set 0.5 MiB/s on a 2 TiB file system, which is invalid.
Confusing EFS throughput with EBS throughput: EBS throughput is per volume and depends on volume size and type. EFS throughput is shared across all clients. A question might describe a single EC2 instance needing high throughput; the answer may involve EBS instead of EFS.
Specific Numbers and Terms
Baseline throughput: 50 MiB/s per TiB.
Burst rate: up to 100 MiB/s per TiB (for file systems <= 1 TiB).
Initial burst credit balance: 2.1 TiB-s.
Max I/O ops/s: up to 50,000+.
General Purpose ops/s: up to 7,000.
Provisioned throughput range: 1 MiB/s to 10 GiB/s.
Elastic throughput: pay per GB-month of throughput used.
Edge Cases
Empty file system: A file system with 0 bytes has baseline 0 MiB/s but can burst using initial credits. After credits exhaust, throughput drops to 0.
Cross-region replication: Replication uses its own throughput, not affecting source file system's credits.
Switching to Elastic: Irreversible; cannot switch back to Bursting or Provisioned.
How to Eliminate Wrong Answers
Focus on latency requirements: if low latency is mentioned, choose General Purpose. If high metadata throughput is needed, choose Max I/O. For throughput, if the workload is steady, choose Provisioned; if variable, Bursting (if predictable) or Elastic (if unpredictable). Always consider cost: Bursting is cheapest, Provisioned costs regardless of usage, Elastic is pay-per-use but may be more expensive for consistent high throughput.
Performance mode is set at creation and cannot be changed: General Purpose (low latency) vs Max I/O (high throughput).
Throughput modes: Bursting (credit-based), Provisioned (fixed), Elastic (auto-scaling).
Bursting baseline throughput = 50 MiB/s per TiB of storage; burst rate up to 100 MiB/s per TiB for file systems <= 1 TiB.
Initial burst credit balance = 2.1 TiB-s; credits are earned at baseline and consumed when throughput exceeds baseline.
Provisioned throughput minimum is 1 MiB/s for file systems up to 1 TiB, scaling linearly with size.
Elastic throughput cannot be reverted to Bursting or Provisioned after enabling.
Max I/O mode supports up to 50,000+ file ops/s but with higher latency than General Purpose (7,000 ops/s).
Monitor BurstCreditBalance in CloudWatch to avoid throttling.
Use NFS v4.1 with large rsize/wsize (1 MiB) for optimal performance.
EFS throughput is shared across all clients; network performance depends on instance type and placement.
These come up on the exam all the time. Here's how to tell them apart.
General Purpose Performance Mode
Sub-millisecond metadata latency
Up to 7,000 file ops/s
Ideal for web servers, CMS, home directories
Single metadata server can become bottleneck
Default mode for all new file systems
Max I/O Performance Mode
Single-digit millisecond metadata latency
Up to 50,000+ file ops/s
Ideal for big data, HPC, media processing
Horizontally distributed metadata servers
Cannot be changed after creation
Bursting Throughput Mode
Cost-effective for variable workloads
Baseline 50 MiB/s per TiB
Burst up to 100 MiB/s per TiB (<=1 TiB)
Credit-based; can exhaust credits
No additional cost beyond storage
Provisioned Throughput Mode
Fixed throughput independent of storage size
Set from 1 MiB/s to 10 GiB/s
Suitable for consistent high throughput
Pay for provisioned amount even if unused
Can be changed at any time
Bursting Throughput Mode
Requires credit management
Predictable cost (storage only)
Best for workloads with idle periods
Manual scaling not needed but limited by credits
Cannot handle sudden prolonged spikes well
Elastic Throughput Mode
Automatic scaling using ML
Pay per GB-month of throughput used
Best for unpredictable workloads
No credit management
Irreversible once enabled
Mistake
Max I/O mode provides lower latency than General Purpose.
Correct
Max I/O has higher metadata latency (single-digit ms) compared to General Purpose (sub-ms). It is optimized for throughput, not latency.
Mistake
Bursting throughput mode provides unlimited high throughput.
Correct
Bursting is credit-based. Once credits are exhausted, throughput drops to baseline (50 MiB/s per TiB). Only Provisioned and Elastic can sustain high throughput.
Mistake
You can change the performance mode after creating the file system.
Correct
Performance mode is set at creation and cannot be changed. You must create a new file system and copy data if needed.
Mistake
Elastic throughput mode is always the most cost-effective.
Correct
Elastic throughput charges per GB-month of throughput used. For consistent high throughput, Provisioned may be cheaper. For unpredictable workloads, Elastic can be cost-effective.
Mistake
Provisioned throughput can be set to any value regardless of file system size.
Correct
Minimum provisioned throughput is 1 MiB/s for file systems up to 1 TiB, and scales linearly with size (50 MiB/s per TiB). Maximum is 10 GiB/s.
Reveal each answer, then mark whether you got it right. Score 60%+ to unlock the next chapter.
No, performance mode (General Purpose or Max I/O) is set when you create the file system and cannot be changed later. If you need a different performance mode, you must create a new file system and migrate your data using tools like rsync or AWS DataSync. The exam tests this as a common trick: candidates may think they can modify it, but it's a one-time decision.
When burst credits are exhausted, the file system throughput drops to the baseline rate (50 MiB/s per TiB). This can cause performance degradation for workloads that require higher throughput. To avoid this, you can switch to Provisioned or Elastic throughput mode, or increase the file system size to raise the baseline. The exam often presents a scenario where a workload experiences slow performance due to credit exhaustion.
Elastic throughput automatically scales up and down based on workload, using machine learning to predict demand. You pay only for the throughput used (per GB-month). Bursting relies on a credit system: you accumulate credits during idle times and spend them during bursts. Elastic is ideal for unpredictable workloads, while Bursting is cost-effective for predictable, variable workloads. Elastic cannot be reverted to Bursting.
The maximum provisioned throughput is 10 GiB/s, subject to regional limits. You can request increases via AWS Support. The minimum is 1 MiB/s for file systems up to 1 TiB, and scales linearly with storage size (e.g., for a 2 TiB file system, minimum is 100 MiB/s). The exam may ask about these limits.
General Purpose is the correct choice for web servers because they require low latency for metadata operations (e.g., file lookups). Max I/O has higher latency (single-digit ms) and is designed for high-throughput parallel workloads like big data. The exam will test this distinction: if a question mentions low latency, choose General Purpose.
Yes, you can use Lifecycle Management to transition files to Infrequent Access (IA) storage after a specified period, regardless of throughput mode. However, reading files from IA incurs retrieval charges (per GB read) and may have higher latency. The throughput mode applies to the entire file system, including IA files. This combination is common to reduce storage costs while maintaining performance.
EFS throughput is shared across all clients accessing the file system, while EBS throughput is per volume and dedicated to a single EC2 instance. EFS throughput depends on the mode and storage size, whereas EBS throughput depends on volume type (gp2, gp3, io1, etc.) and size. The exam may compare these in scenario questions.
You've just covered EFS Performance Modes and Throughput Modes — now see how well it sticks with free SAA-C03 practice questions. Full explanations included, no account needed.
Done with this chapter?