AWS RDS Benchmark - Instance comparison

8,736 views

Published on

RDS instance write i/o comparison using USL

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
8,736
On SlideShare
0
From Embeds
0
Number of Embeds
18
Actions
Shares
0
Downloads
52
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

AWS RDS Benchmark - Instance comparison

  1. 1. RDS Write i/o BenchmarK AWS RDS instance type comparison Roberto Gaiser @rgaiser
  2. 2. RDS• MySQL / Oracle / SQL Server• Running on EC2 managed by AWS, patches, replication and backup• EBS (Elastic Block Store) for storage• EBS = network block device• “Black Box” = no “shell” access• 1 EC2 Compute Unit =1.0-1.2 GHz 2007 Opteron or 2007 Xeon processor
  3. 3. RDS• MySQL / Oracle / SQL Server• Running on EC2 managed by AWS, patches, replication and backup• EBS (Elastic Block Store) for storage• EBS = network block device• “Black Box” = no “shell” access• 1 EC2 Compute Unit =1.0-1.2 GHz 2007 Opteron or 2007 Xeon processor
  4. 4. Instance Comparison EC2 Compute Memory GB Cores Price/Hour * Unit Small 1.7 1 1 $0.105 Large 7.5 4 2 $0.415 XLarge 15.0 8 4 $0.830 2XLarge 34.0 13 4 $1.170 4XLarge 68.0 26 8 $2.340* Price for us-east-1
  5. 5. Instance Comparison EC2 Compute Memory Price/Hour Unit Small 1 1.0 1.0 Large 4 4.4 4.0XLarge 8 8.8 7.92XLarge 13 20.0 11.14XLarge 26 40.0 22.3
  6. 6. Instance Comparison Instance Types Comparison 70 60 50Memory GB 40 31 21 11 1 1 5 8 12 15 19 22 26 EC2 Compute Unit Small Large XLarge 2XLarge 4XLarge
  7. 7. Test Setup• MySQL• Two data sets:• Increase instance size• Increase EBS size• Different days and periods• 5.5.20• max_connections parameter
  8. 8. Test Setup• Ubuntu 12.04 LTS AMI Ubuntu 12.04 LTS AMI ami-a29943cb• mysqlslap from Ubuntu MySQL repository• EC2 High-CPU Medium c1.medium• Disk I/O bound: ✓ insert and commit
  9. 9. mysqlslapmysqlslap -uXXXX -pXXXXX --concurrency=1,5,10,20,30,50,100,200,400 --engine=innodb --auto-generate-sql --auto-generate-sql-load-type=write --auto-generate-sql-add-autoincrement --auto-generate-sql-secondary-indexes=1 --commit=1 --number-of-queries=40000 --iterations=5 -h XXXXX.rds.amazonaws.com --csv=XXXXXX.csv
  10. 10. mysqlslapmysqlslap -uXXXX -pXXXXX --concurrency=1,5,10,20,30,50,100,200,400 --engine=innodb --auto-generate-sql --auto-generate-sql-load-type=write --auto-generate-sql-add-autoincrement --auto-generate-sql-secondary-indexes=1 --commit=1 --number-of-queries=40000 --iterations=5 -h XXXXX.rds.amazonaws.com --csv=XXXXXX.csv
  11. 11. EBS x Instance Type• Chart using the 100GB EBS volume data• Same EBS on all tests• EBS are not created equal• No replication• us-east-1
  12. 12. Change Instance Type RDS Instance MySQL EBS Volume EBS Volume RDS Instance MySQL
  13. 13. 100GB EBS
  14. 14. 100GB EBS
  15. 15. 100GB EBS
  16. 16. 100GB EBS
  17. 17. 100GB EBS
  18. 18. Guerrilla Capacity planning N C(N ) = 1 + ↵(N 1) + N (N 1)• Universal Scalability Law (USL)• http://www.perfdynamics.com/Manifesto/USLscalability.html• Guerrilla Mantra 1.16: Data are not divine. Data comes from the Devil, only models come from God.• Guerrilla Mantra 2.25: All measurements are wrong by definition.• R using nls() http://www.perfdynamics.com/Classes/Materials/USLcalc.r
  19. 19. 100GB EBS
  20. 20. 100GB EBS
  21. 21. 100GB EBS
  22. 22. 100GB EBS
  23. 23. 100GB EBS
  24. 24. 100GB EBS
  25. 25. N Max X Maxsmall 59.48 1660.29 large 88.46 3859.50xlarge 134.40 6068.012xlarge 204.00 7228.874xlarge 217.55 8172.99
  26. 26. N Max X Max N X small 59.48 1660.29 1.00 1.00 large 88.46 3859.50 1.49 2.32xlarge 134.40 6068.01 2.26 3.652xlarge 204.00 7228.87 3.43 4.354xlarge 217.55 8172.99 3.66 4.92
  27. 27. X Max
  28. 28. N Max
  29. 29. α contention β coherencysmall 0.0590 2.66E-04 large 0.0586 1.20E-04xlarge 0.0466 5.30E-052xlarge 0.0403 2.3E-054xlarge 0.0360 2.0E-05
  30. 30. α contention β coherency α βsmall 0.0590 2.66E-04 1.00 1.00 large 0.0586 1.20E-04 0.99 0.45xlarge 0.0466 5.30E-05 0.79 0.202xlarge 0.0403 2.30E-05 0.68 0.094xlarge 0.0360 2.00E-05 0.61 0.08
  31. 31. Instance type x EBS• Same instance and EBS endpoints for each test• EBS are not created equal• No replication• us-east-1
  32. 32. Change EBS SizeRDS Instance MySQL EBS VolumeRDS Instance MySQL EBS Volume
  33. 33. Large Instance
  34. 34. XLarge Instance
  35. 35. 2XLarge Instance
  36. 36. 4XLarge Instance
  37. 37. Small Instance
  38. 38. EC2 Price/ Compute Memory α N Max X Max Unit Hoursmall 1.0 1.0 1.00 1.00 1.00 1.0 large 4.0 4.4 0.99 1.49 2.32 4.0xlarge 8.0 8.8 0.79 2.26 3.65 7.92xlarge 13.0 20.0 0.68 3.43 4.35 11.14xlarge 26.0 40.0 0.61 3.66 4.92 22.3
  39. 39. Conclusion• EBS size has no effect on I/O performance• Small instances are more affected by other instances on the same server• Larger instances have a greater share of the physical resources, more network throughput translates to more EBS I/O
  40. 40. Conclusion• More instances on the same server, more concurrency. α increases• Small decrease in α increases the throughput by a large amount• EBS are not created equal

×