Making the Right Choice: Comparing the Cost/Performance of Different EFS Options and Alternatives

Emily Gay
September 17, 2025

When choosing EFS (Elastic File System) configuration options for your cloud storage, the choices can be overwhelming. Clear, practical guidance is hard to find—so we’ve pulled together the key facts that actually matter, plus cost/performance comparisons to help you choose the right setup for your workload.

This article explains the EFS configuration parameters that affect price and performance (storage classes, performance modes, and throughput modes), and when it makes sense to use S3, FSx for Lustre, or EBS instead.

Different AWS storage types

  • EFS (Elastic File System) — A filesystem-based storage that elastically scales with your data. It grows or shrinks as needed, with no provisioning required.
  • S3 (Simple Storage Service) — AWS’s object storage platform, which flattens file hierarchy into a single plane. You can layer open-source tools like s3fs and goofys on top to make it behave like a filesystem—but they come with performance tradeoffs.
  • EBS (Elastic Block Store) — A block-level storage service for use with EC2. It’s fast, but volumes must be attached to instances and typically aren’t shareable.
  • FSx for Lustre — AWS’s high-throughput option for parallel workloads, built on the Lustre filesystem.
  • Object Mount acts as a high-performance layer on top of your S3 bucket. Like s3fs, Mountpoint, and goofys, it gives you native filesystem access to S3—but with much higher performance and full POSIX compatibility. You can also use Object Mount Fusion to combine S3 with either EFS or FSx for Lustre—giving you ultra-high throughput (served from S3) and high IOPS (served from EFS/FSx) at a fraction of the cost.

Price vs. performance for EFS options and alternatives — summary

EFS options are the configuration settings that impact cost and performance—like storage class, throughput mode, and performance mode.

Alternatives to EFS—like S3, EBS, and FSx—can offer better performance or cost depending on your use case.

We benchmarked them all. Below, you’ll find charts that show which options are fastest and cheapest across common read/write workloads. You can replicate the results using our benchmarking suite.

Test assumptions:

  • 1 TB of data stored for 30 days
  • EBS volumes attached to c5n.18xlarge EC2 instances
  • Region: us-east-2 (Ohio)
  • Daily workload:
    • Copy 5 × 32 GiB files into RAM
    • Copy Linux kernel source (74,999 files, 1.21 GiB) into RAM
    • Copy those same files back into storage

Cold/infrequent access tiers were excluded, since this benchmark is for workloads accessed daily.

Performance = time to run one daily cycle.

Costs = monthly storage + I/O charges (excluding EC2).

Object Mount was tested in Direct mode to S3 only, without Fusion. AWS costs assume use of the free personal/academic license.

All tests were run in December 2023 with benchmarking suite v1.0.2.

Price vs. performance tables (one copy operation per day)

For reading large files, the cheapest and the fastest-performing option is Object Mount with S3.

The same is also true for reading lots of smaller files: Object Mount with S3 is the cheapest and fastest-performing option.

When it comes to writing large files, EBS sc1 is the cheapest option at $16 per month; however, its performance is much worse than all the other options. This is because it’s a cold storage option designed to be accessed only occasionally. The next cheapest option is cunoFS with S3, which is also the most performant option.

For writing lots of small files, the most performant option is EBS io2, provisioned with 3000 IOPS. The fastest options are all EBS options.

Tables of price vs. performance

Below is the full table data of cost vs. performance (in seconds) for one copy operation per day. Later on, you will find the table for ten copy operations per day, so you can see how performance changes as more data gets copied.

Metrics based on one copy operation per day for a month

Chart

To view the same metrics for ten copy operations of each type of data per day, please see the table below.

Metrics based on ten copy operations per day for a month

For this table, monthly cost includes the cost of running each set of copy operations ten times per day for a month, plus the monthly storage fee for 1 TB of data. It does not include compute costs. The performance is the time taken per day to run ten sets of copy operations.

Please note that the data for ten copies per day is based on estimated values, extrapolated from the costs of the single copy per day data, taking into account the cost per GB of each system, burst credits where relevant, and assuming that the storage system is idle for 24 hours between each run.

Chart

EFS storage classes explained

An EFS storage class refers to the type of hardware your data is stored on. EFS offers several storage classes designed to meet different price, performance, and availability requirements. Understanding these options is key to choosing the right one for your workload.

Choosing a storage class:

  • EFS Standard (default): The highest-performance EFS storage class, available in multiple Availability Zones.
  • EFS Standard-Infrequent Access: Like EFS Standard, it spans multiple Availability Zones. Storage costs are lower, but you pay a retrieval fee, so it only makes sense for data accessed less than once every two months.
  • EFS One Zone: Delivers the same high performance as EFS Standard but stores data in a single Availability Zone. It’s about 47% cheaper than EFS Standard, making it a good option if single-zone availability is acceptable.
  • EFS One Zone-Infrequent Access: The Infrequent-Access version of EFS One Zone, with lower storage costs but retrieval fees. As with EFS Standard-IA, it’s best for data you access less than once every two months.
  • EFS Intelligent-Tiering: Automatically moves files between EFS Standard and EFS Infrequent Access based on usage patterns. However, AWS’ “intelligent” tiering can be simplistic — it doesn’t always deliver more savings than manually deciding when to move data.

EFS throughput modes explained

EFS throughput modes determine how much throughput your storage system can deliver and how flexible that performance can be. In this context, “throughput” refers to how quickly files can be read from or written to EFS storage.

Choosing a throughput mode

  • Elastic (default): A pay-as-you-go model where you’re charged for reads, writes, and other I/O operations as they occur. Elastic mode scales automatically, making it ideal for unpredictable or spiky workloads. It’s also the highest-performing mode, offering the fastest IOPS for larger files at scale.
  • Bursting: In this mode, I/O is included in your fixed monthly storage cost, making pricing more predictable than Elastic. Bursting works by accumulating Burst Credits during periods of low I/O and consuming them during spikes. The rate of credit accumulation scales with your filesystem size, making it suitable for variable workloads. However, it generally doesn’t match the performance of Elastic mode.
  • Provisioned: Lets you set a fixed throughput level in advance. Best for workloads with steady or predictable performance requirements, or when you need to guarantee a specific level of throughput.

EFS performance modes explained

EFS performance modes let you specify which performance characteristic matters most for your workload. With only two options, the choice comes down to whether you prioritize very low latency or higher I/O.

Choosing an EFS performance mode

  • General Purpose (default): Offers the lowest latency and is typically the faster option, unless your workload requires very high levels of I/O.
  • Max I/O: Designed for highly parallel workloads that can tolerate higher latency. This mode cannot be used with EFS One Zone storage classes or the Elastic throughput mode.

EFS alternatives — other AWS storage options

You may be tempted to use another AWS storage option to save costs over EFS. This can be advantageous for some use cases, but if you’re not careful, it can also create technical debt that you’ll need to address later. It’s important to consider how alternatives like S3 differ in architecture, performance, and usability before making a decision.

Amazon S3

Like EFS, Amazon S3 offers multiple storage classes tailored to different use cases:

  • S3 Standard (default): Fast, general-purpose storage available across multiple Availability Zones. A good choice if you need quick access at a reasonable cost and don’t want cold storage delays.
  • S3 Standard-Infrequent Access (IA): Lower storage costs than Standard, but with retrieval fees. Access speed is the same as Standard, making it cost-effective if you retrieve data less than once every two months.
  • S3 One Zone-Infrequent Access: 20% cheaper than Standard-IA, but data is stored in a single Availability Zone. Best suited for secondary backups.
  • S3 Glacier Instant Retrieval: A cold storage option that’s slower than Standard classes but 68% cheaper than Standard-IA if you access data only once per quarter. The fastest of the Glacier tiers.
  • S3 Glacier Flexible Retrieval: Up to 10% cheaper than Instant Retrieval, with slower access speeds. Intended for data accessed 1–2 times per year.
  • S3 Glacier Deep Archive: The lowest-cost tier, with very slow retrieval. Used mainly in regulated industries where long-term storage is required but retrieval is rare.
  • S3 Express One Zone: A special low-latency tier designed for high-IOPS workloads. Latencies are up to 10x lower, but storage costs are 7–8x higher than Standard. Read/write IOPS are cheaper, which can offset costs for extremely high-IOPS workloads. Data is stored in a single Availability Zone, and many applications need to be rewritten to work with this class.

Compared to EFS, S3 has higher latency but can deliver much higher throughput. However, S3 is object storage, so you can’t access data via a filesystem interface — you must adapt applications to use the S3 API, which can require significant development work.

Open-source FUSE-based tools like s3fs or goofys can provide a filesystem-like interface for S3, but performance is generally insufficient for demanding use cases.

FSx for Lustre

FSx for Lustre is a fully managed AWS service built on the Lustre filesystem, which was designed for highly parallel workloads. It delivers extremely high throughput for parallel I/O and can sometimes be more cost-effective than EFS.

Unlike EFS and S3, FSx for Lustre requires you to pre-provision storage, which you pay for in advance. The provisioned size includes free space for new files. While you can increase the size later, you cannot reduce it, and resizing makes the filesystem briefly unavailable.

Amazon EBS

Amazon Elastic Block Store (EBS) provides block storage volumes with different price, performance, and durability trade-offs:

  • gp3 (General Purpose SSD): Good for transactional databases and workloads needing fast reads and writes. Offers better performance and lower cost than gp2.
  • gp2 (General Purpose SSD): Predecessor to gp3. Obsolete, as gp3 is strictly better.
  • io1 (Provisioned IOPS SSD): Same throughput as gp3, but with higher IOPS. Useful for I/O-intensive databases or when gp3 performance isn’t enough.
  • io2 (Provisioned IOPS SSD): Same performance as io1, but with higher durability (99.999% vs. 99.8–99.9%).
  • io2 Block Express: The fastest option, with sub-millisecond latency and 4x the performance of io2.
  • st1 (Throughput Optimized HDD): Lower-cost option with good throughput but low IOPS. Ideal for analytics, data warehouses, and log processing. Less than half the cost of SSD options.
  • sc1 (Cold HDD): Lowest-cost EBS tier, with ~50% lower IOPS and throughput than st1. Best for rarely accessed data.

EBS volumes must be attached to EC2 instances. Typically, a volume can only attach to one instance, though EBS Multi-Attach allows io1 or io2 volumes to attach to up to 16 instances in the same Availability Zone (with specialized software for write synchronization, or in read-only mode). This limitation makes EBS a poor replacement for EFS when multiple instances across regions need concurrent read/write access.

Another drawback is parallelization limits. Even with Multi-Attach, you’re capped at 16 instances. By contrast, EFS allows unlimited instances to run in parallel, giving it far higher throughput scalability for large workloads.

Object Mount — a high-performance, scalable EFS alternative, backed by Amazon S3

Object Mount is a storage solution that presents a high-performance, POSIX-compliant filesystem running on top of AWS S3. It lets you access S3 object storage as if it were a native filesystem — with far higher performance than using the S3 API/CLI or FUSE-based solutions like s3fs, Mountpoint, or goofys.

Object Mount was originally developed for the pharmaceutical industry (specifically genomics), where massive data volumes must be stored cost-effectively while remaining accessible for high-performance workloads like bioinformatics analysis and machine learning. Its success in that field has led to broader availability so other industries can benefit as well.

Object Mount delivers the highest throughput of all the EFS options and alternatives, including FSx for Lustre.

Which AWS storage solution should I choose?

Now that you’re familiar with the key facts and benefits of each EFS option (and other AWS alternatives), you’re in a good position to determine which best fits your use case.

EFS is generally a fast-performing filesystem, but it struggles with workloads that involve writing lots of small files. Within the EFS family, the Elastic Provisioned option is the highest-performing, but also the most expensive — so you’ll need to weigh performance against cost.

If you’re reading or writing large files, or reading many smaller files, Object Mount is the clear winner for both performance and cost.

For writing many small files, the fastest choice is EBS io2. However, EBS is not designed as a distributed filesystem — it typically attaches to a single EC2 instance. By contrast, Object Mount with S3 is the next best option for handling lots of small files, without restrictions on the number of instances or the instance types that can access the data.

Object Mount is the strongest option when you need high performance at a lower cost. It offers much higher throughput than using S3 alone or relying on FUSE-based tools. And in configurations where high IOPS are also required for very large files, Object Mount can combine the IOPS benefits of EFS or FSx for Lustre with the ultra-high throughput and lower costs of S3.

Overall, for most use cases, Object Mount will be faster and more affordable than the alternatives.

Start using Object Mount today.

Put Storj to the test.

It’s simple to set up and start using Storj. Sign up now to get 25GB free for 30 days.
Start your trial
product guide