Reading25 min read·Module 3

Amazon EFS Performance Modes

Key concepts

  • General Purpose vs Max I/O

  • Bursting vs Provisioned throughput

  • EFS Infrequent Access

  • Regional vs One Zone

  • Lifecycle management

Overview

Amazon Elastic File System (EFS) is a fully managed, scalable, elastic NFS file system for use with AWS cloud services and on-premises resources. Unlike EBS which attaches to a single EC2 instance, EFS can be mounted by thousands of EC2 instances simultaneously across multiple Availability Zones.

Understanding EFS performance modes, throughput modes, and storage classes is essential for designing high-performing, cost-effective architectures. The SAA-C03 exam tests your ability to choose the right EFS configuration based on workload requirements.

Key Principle

EFS provides two key configuration choices: Performance Mode (General Purpose vs Max I/O) and Throughput Mode (Elastic vs Provisioned vs Bursting). For most workloads, use General Purpose performance mode with Elastic throughput - this is the default and recommended configuration.

Exam Tip

Know the differences between General Purpose and Max I/O modes, and when to use each throughput mode. Remember that One Zone storage classes can only use General Purpose performance mode. Expect 2-3 questions on EFS.


Architecture Diagram

The following diagram illustrates EFS architecture and its configuration options:

EFS Architecture Overview
Figure 1: Amazon EFS architecture showing mount targets across AZs, performance modes, throughput modes, and storage classes

Key Concepts

Performance Modes

EFS offers two performance modes that determine the latency and IOPS characteristics of your file system.

General Purpose Mode

General Purpose Performance Mode

General Purpose is the default and recommended performance mode for most workloads.

Characteristics: | Metric | Value | |--------|-------| | Latency | Lowest per-operation latency | | Read Latency | ~250 microseconds (first-byte) | | Write Latency | ~2.7 milliseconds (first-byte) | | Max IOPS | Hundreds of thousands | | Recommendation | Use for all new file systems |

Best For:

  • Web serving and content management
  • Home directories
  • Development environments
  • General-purpose file sharing
  • Latency-sensitive applications

Max I/O Mode

Max I/O Performance Mode

Max I/O is designed for highly parallelized workloads that can tolerate higher latencies.

Characteristics: | Metric | Value | |--------|-------| | Latency | Higher per-operation latency | | Max IOPS | 500,000+ | | Parallelization | Optimized for 10s-1000s of clients | | Trade-off | Higher latency for higher aggregate throughput |

Best For:

  • Big data and analytics
  • Media processing
  • Genomics analysis
  • Highly parallelized workloads

Important: AWS now recommends General Purpose for nearly all workloads due to improvements that support hundreds of thousands of IOPS.

Performance Mode Selection

Start with General Purpose and monitor the PercentIOLimit CloudWatch metric. Only consider Max I/O if this metric consistently reaches 100% for extended periods. One Zone storage classes only support General Purpose mode.

Performance Modes Comparison

FeatureGeneral PurposeMax I/O
DefaultYesNo
Per-operation LatencyLowestHigher
Max IOPSHundreds of thousands500,000+
Best ForMost workloadsHighly parallelized only
One Zone SupportYesNo
RecommendationUse thisOnly if needed

Throughput Modes

EFS offers three throughput modes that determine how throughput scales with your file system.

Elastic Throughput (Default)

Elastic Throughput

Elastic Throughput is the default and recommended mode for most workloads. Throughput automatically scales based on workload activity.

Characteristics: | Metric | Value | |--------|-------| | Max Read Throughput | 3 GiB/s | | Max Write Throughput | 1 GiB/s | | Combined Max (EFS client v2.0+) | 1,500 MiB/s | | Combined Max (other clients) | 500 MiB/s | | Pricing | Pay only for throughput used |

Best For:

  • Spiky or unpredictable workloads
  • Workloads with variable throughput needs
  • When you can't forecast performance requirements

Restriction: Only available with General Purpose performance mode.

Provisioned Throughput

Provisioned Throughput

Provisioned Throughput allows you to specify the throughput your file system needs, independent of storage size.

Characteristics: | Metric | Value | |--------|-------| | Configurable Range | 1-3,072 MiB/s | | Pricing | ~$6 per MiB/s-month (above baseline) | | Change Limitation | Must wait 24 hours after increase |

Best For:

  • Predictable, sustained high throughput needs
  • Workloads using >5% of peak throughput capacity consistently
  • When you know exact throughput requirements

Use Case Example: A file system with 100 GiB of Standard storage gets 5 MiB/s baseline. If you need 100 MiB/s, provision 95 MiB/s additional throughput.

Bursting Throughput

Bursting Throughput

Bursting Throughput scales throughput with the amount of storage, with ability to burst for up to 12 hours per day.

Characteristics: | Metric | Value | |--------|-------| | Baseline Throughput | 50 KiB/s per GiB of storage | | Read Throughput | 150 KiB/s per GiB (3:1 metering) | | Burst Duration | Up to 12 hours/day | | Burst Credits | Accumulate when below baseline |

Formula:

  • 1 TiB storage = 50 MiB/s baseline, 100 MiB/s burst
  • Read operations metered at 1:3 ratio

Best For:

  • Variable workloads with occasional spikes
  • Cost-sensitive workloads with modest throughput needs
  • Workloads with predictable burst patterns

Throughput Modes Comparison

FeatureElasticProvisionedBursting
DefaultYes (new)NoNo
Throughput ScalingAutomaticFixedBased on storage
Max Throughput3 GiB/s read3,072 MiB/s100 MiB/s per TiB
Pricing ModelPay per usePay for provisionedIncluded with storage
Best ForUnpredictable workloadsSteady high throughputVariable with bursts
Performance ModeGeneral Purpose onlyAnyAny

Storage Classes

EFS offers multiple storage classes to optimize costs based on access patterns.

EFS Storage Classes
Figure 2: EFS storage classes and lifecycle management - Standard, Infrequent Access, Archive, and One Zone variants

Regional Storage Classes

EFS Standard

EFS Standard is built on SSD storage for sub-millisecond latency, designed for frequently accessed data.

Characteristics:

  • Multi-AZ redundancy (3+ AZs)
  • 99.999999999% (11 nines) durability
  • Sub-millisecond latency
  • Highest availability
  • Cost: ~$0.30/GB-month

EFS Infrequent Access (IA)

EFS Standard-IA is cost-optimized for data accessed only a few times per quarter.

Characteristics:

  • Up to 95% lower cost than Standard
  • Multi-AZ redundancy
  • Higher latency than Standard
  • Per-access charges apply
  • Cost: ~$0.016/GB-month + access fees

EFS Archive

EFS Archive is the lowest-cost storage class for data accessed a few times per year or less.

Characteristics:

  • Up to 50% lower cost than IA
  • Multi-AZ redundancy
  • Highest latency
  • Per-access charges apply
  • Cost: ~$0.008/GB-month + access fees
  • Only available with Elastic throughput

One Zone Storage Classes

EFS One Zone

EFS One Zone stores data in a single Availability Zone for 47% cost savings.

Characteristics:

  • Single AZ storage (data loss risk if AZ fails)
  • 99.999999999% durability (within the AZ)
  • Lower availability than Regional
  • Cost: ~$0.16/GB-month
  • Only supports General Purpose performance mode

One Zone-IA variant provides additional savings for infrequently accessed data.

EFS Storage Classes Comparison

Storage ClassCost (GB/mo)DurabilityAvailabilityBest For
EFS Standard$0.3011 nines (multi-AZ)HighestFrequently accessed data
EFS Standard-IA$0.01611 nines (multi-AZ)HighQuarterly access
EFS Archive$0.00811 nines (multi-AZ)HighYearly access or less
One Zone$0.1611 nines (single AZ)LowerCost-sensitive, reproducible
One Zone-IA$0.013311 nines (single AZ)LowerInfrequent + cost-sensitive

Lifecycle Management

EFS Lifecycle Management

Lifecycle Management automatically moves files between storage classes based on access patterns.

Transition Policies:

  • Transition to IA: 7, 14, 30, 60, or 90 days since last access
  • Transition to Archive: 90, 180, 270, or 365 days since last access
  • Default: 30 days to IA

EFS Intelligent-Tiering:

  • Automatically transitions files to IA when not accessed
  • Automatically moves files back to Standard when accessed again
  • No retrieval delays - data available immediately

Important Notes:

  • File metadata always stored in Standard (for consistent performance)
  • Access charges apply when reading from IA/Archive
  • Lifecycle policies can be changed without downtime
SHConfigure Lifecycle Policy (AWS CLI)
# Create file system with lifecycle policy
aws efs create-file-system \
    --performance-mode generalPurpose \
    --throughput-mode elastic \
    --lifecycle-policies \
        TransitionToIA=AFTER_30_DAYS \
        TransitionToArchive=AFTER_90_DAYS \
        TransitionToPrimaryStorageClass=AFTER_1_ACCESS

# Update lifecycle policy on existing file system
aws efs put-lifecycle-configuration \
    --file-system-id fs-12345678 \
    --lifecycle-policies \
        TransitionToIA=AFTER_14_DAYS \
        TransitionToPrimaryStorageClass=AFTER_1_ACCESS

How It Works

EFS vs EBS vs S3 Comparison

AWS Storage Services Comparison

FeatureEFSEBSS3
TypeFile storage (NFS)Block storageObject storage
AccessMultiple EC2 instancesSingle EC2 instance*Any (via API)
ProtocolNFSv4Block deviceHTTP/HTTPS
ScalingAutomatic (petabytes)Manual (16 TiB max)Automatic (unlimited)
AvailabilityMulti-AZ or One ZoneSingle AZMulti-AZ (regional)
Use CaseShared file systemsBoot volumes, databasesStatic content, backups

*Note: EBS Multi-Attach allows io2 volumes to attach to multiple instances in same AZ.

Throughput Calculation

TEXTEFS Throughput Calculations
# Bursting Throughput Baseline
Baseline = Storage (GiB) × 50 KiB/s
Example: 1 TiB (1024 GiB) = 1024 × 50 KiB/s = 50 MiB/s baseline

# Read operations metered at 1:3 ratio
Read Throughput = Baseline × 3
Example: 50 MiB/s baseline = 150 MiB/s read throughput

# Burst Credits
Accumulate when throughput < baseline
Deplete when throughput > baseline
Max burst duration: ~12 hours/day

# Provisioned Throughput
Cost = (Provisioned - Baseline) × $6/MiB/s-month
Example: Need 100 MiB/s with 1 TiB storage
         Baseline = 50 MiB/s (free)
         Additional = 50 MiB/s × $6 = $300/month

Use Cases

Use Case 1: Web Application with Shared Content

Scenario: Multiple web servers need to share uploaded files and static content.

Solution:

  • EFS Standard with General Purpose mode
  • Elastic throughput for automatic scaling
  • Mount across multiple AZs for high availability
  • Enable lifecycle policy (30 days to IA) for old uploads

Use Case 2: Big Data Analytics Cluster

Scenario: Hadoop/Spark cluster with 100+ nodes processing large datasets.

Solution:

  • EFS Standard (consider Max I/O if PercentIOLimit hits 100%)
  • Provisioned throughput for predictable high throughput
  • Monitor CloudWatch metrics for optimization

Use Case 3: Development Home Directories

Scenario: Shared home directories for development team, cost-sensitive.

Solution:

  • EFS One Zone for 47% cost savings
  • General Purpose mode (required for One Zone)
  • Bursting throughput for variable workloads
  • Lifecycle policy to move old files to One Zone-IA

Use Case 4: Machine Learning Training

Scenario: ML training jobs need to read large datasets with unpredictable schedules.

Solution:

  • EFS Standard for low latency data access
  • Elastic throughput for automatic scaling during training
  • Archive storage class for completed training data

Best Practices

EFS Best Practices
  1. Start with defaults - General Purpose mode + Elastic throughput works for most workloads
  2. Enable Intelligent-Tiering - Automatically optimize costs with lifecycle policies
  3. Monitor PercentIOLimit - Only switch to Max I/O if consistently at 100%
  4. Use One Zone for non-critical data - 47% savings for reproducible or dev/test data
  5. Use latest EFS client - amazon-efs-utils v2.0+ enables 1,500 MiB/s throughput
  6. Enable encryption - At-rest (KMS) and in-transit (TLS) with minimal overhead
  7. Use mount targets in each AZ - Ensures low-latency access from any AZ
  8. Set appropriate lifecycle policies - Balance cost savings with access patterns

Common Exam Scenarios

Exam Scenarios and Solutions

ScenarioSolutionWhy
Shared storage for web servers across AZsEFS Standard + General Purpose + ElasticMulti-AZ, automatic scaling, low latency
Big data cluster with 500+ concurrent clientsEFS with Max I/O (if PercentIOLimit at 100%)Optimized for highly parallelized workloads
Cost-sensitive dev/test environmentEFS One Zone + lifecycle to IA47% cheaper, acceptable for non-production
Predictable high-throughput video renderingEFS + Provisioned throughputConsistent performance for known requirements
Home directories with mostly cold dataEFS Standard + Intelligent-TieringAuto-tiering to IA saves up to 95%
Single EC2 instance needs persistent storageUse EBS, not EFSEBS is simpler and lower cost for single instance

Common Pitfalls

Pitfall 1: Using EFS When EBS Suffices

Mistake: Using EFS for a single EC2 instance when EBS would work.

Why it's wasteful:

  • EFS is more expensive than EBS
  • Adds unnecessary complexity
  • Higher latency than local EBS

Correct Approach:

  • Use EBS for single-instance storage needs
  • Use EFS only when multiple instances need shared access
  • Consider EFS for multi-AZ high availability requirements
Pitfall 2: Choosing Max I/O Without Testing

Mistake: Selecting Max I/O mode based on assumptions about parallelization.

Why it's problematic:

  • Max I/O has higher latency
  • General Purpose now supports hundreds of thousands of IOPS
  • Cannot change back without creating new file system

Correct Approach:

  • Start with General Purpose (default)
  • Monitor PercentIOLimit CloudWatch metric
  • Only consider Max I/O if consistently at 100%
Pitfall 3: Ignoring Access Charges for IA/Archive

Mistake: Moving all data to IA/Archive without considering access patterns.

Why it's costly:

  • Per-access charges can exceed Standard storage costs
  • Data frequently accessed from IA costs more than keeping in Standard

Correct Approach:

  • Use Intelligent-Tiering to automatically move data back
  • Analyze access patterns before aggressive tiering
  • IA best for data accessed < once per month
Pitfall 4: One Zone for Critical Data

Mistake: Using One Zone storage class for production workloads without backups.

Why it's risky:

  • Data stored in single AZ only
  • Data loss if AZ experiences disaster
  • No automatic replication to other AZs

Correct Approach:

  • Use Regional (Standard) for production data
  • One Zone only for reproducible or backed-up data
  • Implement backup strategy with AWS Backup

Test Your Knowledge

Q

A company needs shared file storage for a web application running on 20 EC2 instances across 3 Availability Zones. The workload is latency-sensitive with unpredictable traffic patterns. Which EFS configuration is BEST?

AMax I/O performance mode with Bursting throughput
BGeneral Purpose performance mode with Elastic throughput
CGeneral Purpose performance mode with Provisioned throughput
DMax I/O performance mode with Elastic throughput
Q

Which EFS throughput mode is ONLY available with General Purpose performance mode?

ABursting throughput
BProvisioned throughput
CElastic throughput
DAll throughput modes work with any performance mode
Q

A company wants to reduce EFS costs for a development environment where data loss is acceptable. Which storage class provides the MOST cost savings?

AEFS Standard with lifecycle to IA
BEFS Standard-IA
CEFS One Zone with lifecycle to One Zone-IA
DEFS Archive
Q

What happens when a file in EFS Infrequent Access storage class is accessed with Intelligent-Tiering enabled?

AThe file remains in IA and access charges apply
BThe file is automatically moved back to Standard storage
CThe file must be manually restored before access
DAccess is denied until the file is transitioned


Quick Reference

Performance Specifications

EFS Performance Quick Reference

MetricValue
Max file system sizePetabytes
Max single file size52 TiB
Max throughput (Elastic)3 GiB/s read, 1 GiB/s write
Max throughput (Provisioned)3,072 MiB/s
Read latency (Standard)~250 microseconds
Write latency (Standard)~2.7 milliseconds
Max IOPS (General Purpose)Hundreds of thousands
Max IOPS (Max I/O)500,000+

Storage Class Pricing (US East)

EFS Storage Pricing

Storage ClassStorage CostAccess Cost
EFS Standard$0.30/GB-moNone
EFS Standard-IA$0.016/GB-mo$0.01/GB accessed
EFS Archive$0.008/GB-mo$0.03/GB accessed
One Zone$0.16/GB-moNone
One Zone-IA$0.0133/GB-mo$0.01/GB accessed

Key Metrics to Monitor

CloudWatch Metrics for EFS

MetricDescriptionAction
PercentIOLimit% of General Purpose I/O limit usedConsider Max I/O if consistently 100%
BurstCreditBalanceAvailable burst credits (Bursting mode)Consider Provisioned if depleting
TotalIOBytesTotal bytes transferredMonitor for capacity planning
MeteredIOBytesBytes that count against throughputTrack IA/Archive access costs

Further Reading

Related services

EFS