Gaming on AWS - 2. Amazon Aurora 100% 활용하기 - 신규 기능 및 이전 방법 시연

Preview:

Citation preview

Amazon Aurora 100% –

Gam

e s

erv

er

Users

Gam

e d

b

big

Gam

e s

erv

er

Users

Gam

e d

b

small smallsmall … …big

small

small

small

•––

•––

•––

•–

……

• Amazon Aurora MySQL

• Aurora 10 1 MySQL5

Logging + Storage

SQL

Transactions

Caching

Control PlaneData Plane

Amazon S3

DynamoDB

Amazon SWF

Amazon Route 53

SQL

Transactions

AZ 1 AZ 2 AZ 3

Caching

Amazon S3

•–

••••

Page cacheinvalidation

Aurora Master

30% Read

70% Write

Aurora Replica

100% New Reads

Shared Multi-AZ Storage

MySQL Master

30% Read

70% Write

MySQL Replica

30% New Reads

70% Write

Single threadedbinlog apply

Data Volume Data Volume

•–––

Storage

SQL

Transactions

Caching

Amazon S3

Application

••

-

10

20

30

40

50

60

70

10 100 1,000 10,000

Thou

sand

s of

writ

es p

er s

econ

d

Number of tables

Write performance and table count

AuroraMySQL on I2.8XLMySQL on I2.8XL with RAM DiskRDS MySQL with 30,000 IOPS (Single AZ)

Tables Amazon Aurora

MySQLI2.8XL

local SSD

MySQLI2.8XL

RAM disk

RDS MySQL30K IOPS

(single AZ)

10 60,000 18,000 22,000 25,000

100 66,000 19,000 24,000 23,000

1,000 64,000 7,000 18,000 8,000

10,000 54,000 4,000 8,000 5,000

-

20

40

60

80

100

120

50 500 5,000

Thou

sand

s of

writ

es p

er s

econ

d

Concurrent connections

Write performance and concurrency

AuroraRDS MySQL with 30,000 IOPS (Single AZ)

Connections Amazon Aurora

RDS MySQL30K IOPS

(single AZ)

50 40,000 10,000

500 71,000 21,000

5,000 110,000 13,000

./sysbench --test=tests/db/oltp.lua--mysql-host=<rds-aurora-instancehost-name>--oltp-tables-count=250 --mysql-user=<db-username> --mysqlpassword=<db-password>--mysql-port=3306 --db-driver=mysql--oltp-tablesize=25000--mysql-db=<db-name> --max-requests=0 --max-time=600 --oltp_simple_ranges=0 --oltp-distinct-ranges=0 --oltp-sum-ranges=0 --oltporder-ranges=0--oltp-point-selects=0 --num-threads=1000 --randtype=uniformrun

DB on instance

RDS Aurorainstance

Auroramysqldump / mysqlimport

RDS MySQLinstance

RDS Aurorainstance

AuroraSnapshot migration

RDSinstance

RDS Aurorainstance

Aurora

RDS migration tool

Recommended