EFS Throughput not exceeding 1MB


Good day,

I hope you can assist with a question around EFS throughput that I am seeing on our AWS services.

I have setup an EFS filesystem which I have mounted on 2 x EC2 instances. Originally, I had it configured as burstable throughput.

When looking at the MeteredIOBytes metric, the maximum throughput never exceeds 1.05M. I thought it might be because I am not using much space on EFS and as I understand it, when on burstable throughput, the throughput increases as you use more GBs.

I then tried changing the EFS to provisioned throughput of 5MB, but even after doing this, the MeteredIOBytes metric never exceeds 1.5MB.

In both burstable and provisioned mode, when comparing the maximum MeteredIOBytes with PermittedThroughput, the MeteredIOBytes is way below Permitted.

I am only using 3GB of storage space on EFS.

Is there a setting I am missing to increase the throughput beyond 1.5MB?


asked 2 years ago826 views
2 Answers

PermittedThroughput is the maximum amount of throughput that a file system can drive. For file systems in the Provisioned Throughput mode, if the amount of data stored in the EFS Standard storage class allows your file system to drive a higher throughput than you provisioned, this metric reflects the higher throughput instead of the provisioned amount. For file systems in Bursting Throughput mode, this value is a function of the file system size and BurstCreditBalance. Because the MeteredIOBytes metric is less than the PermittedThroughput metric, the application is not driving the file system hard enough to reach the PermittedThroughput. Please review the Performance section of the Amazon EFS user guide for ideas on how to improve performance - https://docs.aws.amazon.com/efs/latest/ug/performance-tips.html. Here are a few tips: 1) increase the number of threads accessing the EFS file systems (e.g. increase the degree of parallelism), use larger average I/O sizes, use NFSv4.1 and a Linux distro with the latest kernel version. If you want to verify that the file system is capable of achieving more throughput than you can drive with your application, use a synthetic tool like dd, IOR, FIO, with lots of threads and a large block size (e.g. 1 MiB). Refer to the Amazon EFS tutorial for tips on how to achieve better performance with Amazon EFS - https://github.com/aws-samples/amazon-efs-tutorial/tree/master/performance.

profile pictureAWS
answered 2 years ago

Thanks for the useful response.

I am mounting from Amazon Linux 2 instances and using the efs helper. I tried a few of the DD tools to test throughput, and interestingly, the output from DD and load while DD is running, shows 100MB/s+ throughput so it seems the throughput is definitely available, however the Cloudwatch graphs are only showing peaks of 1.05MB during the times I was running the DD tests which is what is misleading to me.

Thanks again.

answered 2 years ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions