I'm using an AWS i3.2xlarge
EC2 instance and facing a limit of 10K IOPS. I wonder why that is?
I only write on the NVMe instance storage. No matter what I do I can't pass that limit. I thought that I3 class instance could go way above that?
Is there something that I am missing? Do I need a larger instance to reach higher IOPS? Before I try going higher i would like to understand if it is the typical limit for those instance or it is something in my set up?
Was anyone able to achieve higher throughput with that type of instance? Why is the limit 10K IOPS? What's the reason for it? And how to go above it?
Note: I'm running a database application, and making many update request on it.
Best Answer
Are you 100% sure you're writing to the local SSD storage?
It sounds like you may be accidentally using the EBS volume instead, the 10K IOPS limit would suggest that...
How to check: In Amazon Linux 2 on
i3.2xlarge
the NVMe instance storage is/dev/nvme0n1
while EBS volumes are/dev/xvd*
. Check what device is mounted at the directory you're using / benchmarking:Here I've got a second EBS volume mounted as
/ebs-storage
and the NVMe instance storage as/local-storage
.Note that the NVMe disk must be explicitly formatted (
mkfs
) and mounted before it can be used! By default the instance starts with just an EBS-backed root disk and the fast NVMe disk is not used!Hope that helps :)