Upload
rodrigo-campos
View
3.103
Download
0
Tags:
Embed Size (px)
DESCRIPTION
AWS RDS benchmark by Roberto Gaiser - Presented at the CMG Brasil Conference 2012
Citation preview
AWS RDS instance type comparison
RDS Write i/o BenchmarK
Roberto Gaiser@rgaiser
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
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
Memory GB
EC2 Compute
UnitCores
Price/Hour *
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
EC2 ComputeUnit
Memory Price/Hour
Small 1 1.0 1.0
Large 4 4.4 4.0
XLarge 8 8.8 7.9
2XLarge 13 20.0 11.1
4XLarge 26 40.0 22.3
1
11
21
31
40
50
60
70
1 5 8 12 15 19 22 26
Instance Types ComparisonM
em
ory
GB
EC2 Compute Unit
Small Large XLarge 2XLarge 4XLarge
Test Setup
• MySQL
• Two data sets:
- Increase instance size
- Increase EBS size
• Different days and periods
• 5.5.20
• max_connections parameter
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
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
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
• Chart using the 100GB EBS volume data
• Same EBS on all tests
• EBS are not created equal
• No replication
• us-east-1
EBS x Instance Type
Change Instance Type
RDS Instance MySQL EBS Volume
RDS Instance MySQL
EBS Volume
100GB EBS
100GB EBS
100GB EBS
100GB EBS
100GB EBS
• 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
Guerrilla Capacity planning
C(N) =N
1 + ↵(N � 1) + �N(N � 1)
100GB EBS
100GB EBS
100GB EBS
100GB EBS
100GB EBS
100GB EBS
N Max X Max
small 59.48 1660.29
large 88.46 3859.50
xlarge 134.40 6068.01
2xlarge 204.00 7228.87
4xlarge 217.55 8172.99
N Max X Max
small 1.00 1.00
large 1.49 2.32
xlarge 2.26 3.65
2xlarge 3.43 4.35
4xlarge 3.66 4.92
X Max
N Max
α contention β coherency
small 0.0590 2.66E-04
large 0.0586 1.20E-04
xlarge 0.0466 5.30E-05
2xlarge 0.0403 2.3E-05
4xlarge 0.0360 2.0E-05
α contention β coherency
small 1.00 1.00
large 0.99 0.45
xlarge 0.79 0.20
2xlarge 0.68 0.09
4xlarge 0.61 0.08
• Same instance and EBS endpoints for each test
• EBS are not created equal
• No replication
• us-east-1
Instance type x EBS
Change EBS SizeRDS Instance MySQL EBS Volume
RDS Instance MySQL
EBS Volume
Large Instance
XLarge Instance
2XLarge Instance
4XLarge Instance
Small Instance
EC2 Compute
UnitMemory α N Max X Max
Price/Hour
small 1.0 1.0 1.00 1.00 1.00 1.0
large 4.0 4.4 0.99 1.49 2.32 4.0
xlarge 8.0 8.8 0.79 2.26 3.65 7.9
2xlarge 13.0 20.0 0.68 3.43 4.35 11.1
4xlarge 26.0 40.0 0.61 3.66 4.92 22.3
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
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