Monday, September 15, 2014

AWS - Disk IO

Goal:
  • Test a few different instance sizes and storage configurations to gauge their performance relative to each other.
 Constraints:
  • Our provider will not support EBS Optimized instances.
Other things to keep in mind:
  • Critical to test multiple instances of same flavor (link)
  • Its important to test the Ephemeral/Instance storage because its physically attached to the machine (link) and that probably offers performance benefits.  *Of course if we use instance storage we need to  keep data safe by using a replication strategy across multiple instances and storing backups in Amazon S3.
  • R3.large & Family:  These instances are the sweet spot for your MongoDB instances. They have the right balance of memory and compute power. They are good candidates to run your larger MongoDB server. MongoDB is mainly a memory game – the more memory you supply the better it works and these instance types offer the most memory. The previous generation of these instances used to be called M2. If your MongoDB server is still getting disk bound then I would consider the High IO instances.  (link)
So here are the combinations I'd like to test:


m1.large
  • m1.large with EBS storage
  • m1.large with Ephemeral/Instance storage (412gb spindisk)
  • cost:  $.175 / hour  (link)
  • "moderate" network performance  (link)
  • *optional* ebs optimized  (link)
  • regular spinning disk  (link)

m3.large
  • m3.large with EBS storage
  • m3.large with Ephemeral/Instance storage  (32gb ssd) 
  • cost: $.140 / hour  (link)
  • "moderate" network performance  (link)
  • *NOT* ebs optimized  (link)
  • SSD disk  (link)

m3.xl
  • m3.XL with EBS storage
  • m3.large with Ephemeral/Instance storage  (80gb ssd)
  • cost: $.280 / hour
  • "high" network performance
  • SSD disk


Measurements with FIO
(doing measurements with fio)
(interpreting link)

Results:
  1. m1.large & ephemeral & read
  2. m1.large & ephemeral & write
  3. m1.large & ebs & read
  4. m1.large & ebs & write
  5. m3.large & ephemeral & read
  6. m3.large & ephemeral & write
  7. m3.large & ebs & read
  8. m3.large & ebs & write
  9. m3.xl & ephemeral & read
  10. m3.xl & ephemeral & write
  11. m3.xl & ebs & read
  12. m3.xl & ebs & write



Appendix:

ephemeral/instance storage types
  1. spinning disk
  2. ssd disk
network performance values
  1. low
  2. moderate
  3. high
  4. 10gigabit

No comments:

Post a Comment