When you restore EBS volumes from snapshot, they initially run slow, because Amazon handles copying the blocks from the S3-backed snapshots in the backend. You'll want to warm up your EBS volumes after restoring them from snapshot.

Amazon recommends using either the dd utilty, or the fio utility, to warm up your volumes. See http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-initialize.html.

The dd utility is single-threaded and RAID volumes consist of multiple disks, so introducing a multi-threaded application, and then running the same multi-threaded application on each disk in an attached RAID volume, will speed up the EBS volume warm-up

Run as root (yes, bad habits):

apt-get update
apt-get -y install fio

for i in /dev/xvd{f..m} ; do echo nohup fio --filename=$i --rw=randread --bs=1m --iodepth=32 --ioengine=libaio --direct=1 --name=volume-initialize-basename$i \& ; done | sh


The result? On an r4 class EC2 instance, I'm reading ~250MBps from disk, where if I just ran dd against the RAID array (/dev/md1), I'd be lucky to get a sustained read speed of 4MBps.