AWS RDS Benchmark - CMG Brasil 2012

3,466 views

Published on

AWS RDS benchmark by Roberto Gaiser - Presented at the CMG Brasil Conference 2012

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

No Downloads
Views
Total views
3,466
On SlideShare
0
From Embeds
0
Number of Embeds
823
Actions
Shares
0
Downloads
33
Comments
0
Likes
7
Embeds 0
No embeds

No notes for slide

AWS RDS Benchmark - CMG Brasil 2012

  1. 1. RDS Write i/o BenchmarKAWS 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. EC2 Memory Price/ Compute Cores GB 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. 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 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 Max small 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 small 1.00 1.00 large 1.49 2.32xlarge 2.26 3.652xlarge 3.43 4.354xlarge 3.66 4.92
  27. 27. X Max
  28. 28. N Max
  29. 29. α contention β coherency small 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 1.00 1.00 large 0.99 0.45xlarge 0.79 0.202xlarge 0.68 0.094xlarge 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 Size RDS Instance MySQL EBS Volume RDS 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.0large 4.0 4.4 0.99 1.49 2.32 4.0xlarge 8.0 8.8 0.79 2.26 3.65 7.92xlarg 13.0 20.0 0.68 3.43 4.35 11.1 e4xlarg 26.0 40.0 0.61 3.66 4.92 22.3 e
  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

×