0
votes

If I have an EC2 instance and I connect two (or more) different EBS volumes to it, can the instance read/write to those volumes in parallel?

Will it be useful for an SQL Server installation to attach more drives so the DB can read/write in parallel if I divide the data among those drives?

2

2 Answers

2
votes

Yes, but up to a point. The limit has been in the past a stripe set of 4-8 volumes. Any more than that and you will get diminishing returns.

This also depends on your instance size as larger instances have higher IO priority over instances sharing the same hardware.

2
votes

If you attach multiple EBS volumes to a single EC2 instance, you can increase your I/O performance by reading from and writing to the volumes in parallel.

Note that this is not an "automatic" feature. Your instance will see each volume as a separate block device. You'll need to create a RAID-0 array, for example, with your volumes and use it to see the performance improvement.

Regarding EBS Performance, there are a few things to note (as of 2014-02-19):

  • There are 2 types of EBS volumes: Standard and Provisioned IOPS (PIOPS).
    • Standard volumes give you around 100 I/O operations per second (IOPS) of up to 16KB each.
    • PIOPS volumes give you up to 4000 IOPS.
  • "PIOPS are designed to deliver within 10 percent of the provisioned IOPS performance 99.9% of the time", from this doc page. For this reason, they provide a much more consistent IO performance than Standard EBS volumes (i.e., if you use, say, 4 Standard volumes or a single 400 PIOPS volume, you can expect much lower variance in performance with the single PIOPS).
  • The cost of PIOPS volumes is usually lower than Standard volumes when you require more than about 200 IOPS. Simulate the costs using the Simple Monthly Calculator.
  • It is recommended that you either use EBS Optimized instances or instances with 10Gbps network performance, for EBS to consistently deliver high performance (otherwise, network traffic can impact EBS performance). For example, a Database Server will need to use the network interface to interact with EBS and also to receive queries and return results.
  • The maximum number of operations per second with EBS depends on the instance type. See this table.
  • Instances with 10 Gigabit network connectivity support up to 48,000 IOPS.
  • To achieve maximum performance, your EBS Volumes need to be pre-warmed, as the first read/write to a block is slower than the subsequent operations on that block. See this doc page for details.

Also, be sure to check if Amazon RDS (Amazon Relation Database Service) satisfy your requirements. It does disk management (including creating the RAID-0 and properly/consistently snapshotting all the volumes), backups and lots of other stuff automatically for you.