aws rds benchmark - cmg brasil 2012

Post on 11-Nov-2014

3.103 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

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

top related