Choosing the Right Throughput Mode for Amazon EFS: A Performance Guide


When using Amazon Elastic File System (EFS), selecting the right throughput mode is critical to balancing performance needs with cost efficiency. EFS offers three modes: Elastic Throughput (Default), Bursting Throughput, and Provisioned Throughput. Let's break down how they work and when to use each.
Here are the Performance Settings Options when Selecting Amazon EFS File system’s Throughput mode. (Image below)
Elastic Throughput Mode (Default and AWS Recommended)
How It Works
Automatically scales throughput performance up or down to meet workload needs
No need to specify or provision throughput capacity
Pay only for the amount of metadata and data read or written
No accrual or consumption of burst credits
Best For
Spiky or unpredictable workloads
Performance requirements that are difficult to forecast
Applications that drive throughput at an average-to-peak ratio of 5% or less
Considerations
Available only for file systems using General Purpose performance mode
Simplifies management by eliminating the need for manual throughput adjustments
Bursting Throughput Mode
How It Works
Baseline Throughput: Scales with storage size (50 KiB/s per GiB of data stored)
Burst Capability: Accumulate credits when below baseline, allowing temporary higher throughput
Best For
Variable workloads with occasional traffic spikes
Cost-efficient option for workloads not requiring sustained high throughput
Considerations
Monitor burst credits via Amazon CloudWatch (BurstCreditBalance)
Larger file systems (>1 TiB) can sustain longer bursts
Provisioned Throughput Mode
How It Works
Manually define throughput (MiB/s) independent of storage size
Pay for storage fees + hourly charges for provisioned throughput
Best For
Steady, high-throughput needs
Predictable workloads requiring consistently high performance
Considerations
Use when baseline bursting limits are insufficient
Adjust provisioned throughput as needs change
Key Differences
Factor | Elastic Throughput | Bursting Throughput | Provisioned Throughput |
Cost Model | Pay for read/write operations | Included with storage | Storage + hourly throughput fees |
Performance | Automatically scales | Scales with storage size | Fixed, user-defined |
Workload Type | Spiky/unpredictable | Variable with occasional spikes | Steady, high-demand |
Complexity | Lowest (AWS manages scaling) | Low (AWS manages bursting) | Requires monitoring and adjustments |
How to Choose
Start with Elastic Throughput if:
Your workload is unpredictable or spiky
You want simplified management and cost optimization
Consider Bursting Throughput if:
You have variable workloads with occasional spikes
Cost savings are a priority over guaranteed throughput
Switch to Provisioned Throughput if:
You need guaranteed throughput for latency-sensitive tasks
Your workload consistently requires high throughput
By aligning your EFS throughput mode with your application's needs, you can optimize both performance and costs.
Here's a summary of the key points:
Elastic Throughput: Recommended for most workloads, especially those with unpredictable or spiky performance requirements.
Bursting Throughput: Suitable for variable workloads with occasional traffic spikes, offering a balance between cost and performance.
Provisioned Throughput: Ideal for steady, high-throughput needs and predictable workloads requiring consistently high performance.
Final Tips
Utilize Amazon CloudWatch metrics to monitor your file system's performance, including throughput usage and, if applicable, burst credit balance.
During development, test different throughput modes to compare cost-effectiveness and performance for your specific workload1.
Keep in mind that you can switch between throughput modes, but there's a 24-hour waiting period before making another change.
For most use cases, start with Elastic Throughput as it automatically scales to meet workload needs without manual intervention.
If you're unsure about your application's peak throughput requirements or have very spiky workloads, Elastic Throughput is often the best choice.
Consider using Provisioned Throughput when you have a clear understanding of your workload's performance needs and require guaranteed throughput.
By carefully considering these factors and leveraging the appropriate throughput mode, you can ensure that your Amazon EFS file system delivers optimal performance while maintaining cost efficiency for your specific use case.
Adapted from the Amazon EFS Performance Guide: https://docs.aws.amazon.com/efs/latest/ug/performance.html
Hope you have enjoyed the Blog. Thank you for Reading.
Happy Learning.
Like and Follow for more Azure and AWS Content.
Thank you,
Jineshkumar Patel
Subscribe to my newsletter
Read articles from Jineshkumar Patel directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

Jineshkumar Patel
Jineshkumar Patel
Cloud Enthusiast working as Cloud Infrastructure Consultant. My Hobby is to build and destroy Cloud Projects for Blogs. Love to share my learning journey about DevOps, AWS and Azure. Subscribe and Follow up with "CloudCubes".Thank you and Happy Learning !!