I was offline for quite a while because shifting from one continent to another. But now regular posts should be rolling in again.
I am running a couple of instances in pre-production requirement mode and changed from a standard EBS volume to a IOPS volume for the DB instance or the volume with the DB files. I could not identify a reasonable increase of performance, maybe a misconception that IOPS volumes will boost performance, rather provide a defined and consistent random access I/O throughput. I must admit I did not use a value higher than 1000.
Some recommended reading:
- Increasing EBS Performance (by Amazon)
- Benchmarking (by Amazon)
- Even Stranger than Expected: a Systematic Look at EC2 I/O (by Scalyr)
I decided to return to a standard ESB volume for my database as its performance did not benefit from the IOPS type (the DB is not overly busy too).
You cant change type and size of an EBS volume on the fly.
Here the steps to achieve the same:
- The easiest approach is to do shutdown the instance, otherwise you need to mount and unmount the volumes in the instance itself during the process (which is necessary for spot instances!)
- Select the IOPS (or any other) volume you want to change and make a snapshot.
I recommend using a descriptive name, otherwise you just get another entry in a long list of snapshots by your AMI’s.
The snapshot is not instant. I had to wait 25 min for a new snapshot of a 100GB volume, subsequent snapshots should be faster.
- Once the snapshot is done create a volume from the snapshot
- Select type and size
- Detach the old volume and attach the newly created volume
- Start up the instance and you are almost done
If you change the size your OS (Ubuntu) will not see the different sized volume.
Use the resize2fs command and check with df -h !