5. Aurora at a glance
AZ 1 AZ 2 AZ 3
Amazon S3
Master
Read
Replica
Read
Replica
Read
Replica
Read
Replica
Massively scale-out storage
distributed across 3 AZs
19. 高速で予測可能なフェイルオーバー時間
App
RunningFailure Detection DNS Propagation
Recovery Recovery
DB
Failure
MYSQL
App
Running
Failure Detection DNS Propagation
Recovery
DB
Failure
AURORA WITH MARIADB DRIVER
1 5 - 3 0 s e c
5 - 2 0 s e c
20. 連続的なバックアップ
Segment snapshot Log records
Recovery point
Segment 1
Segment 2
Segment 3
Time
各セグメントのスナップショットを定期的かつ並列で取得し、REDOログをAmazon S3へ転送
バックアップは連続的に行われ、パフォーマンスや可用性への影響はない
リストア時は、該当するセグメントスナップショットとログストリームをストレージノードに復元
セグメントスナップショットへのログストリーム適用は並列・非同期に実行される
22. • 4 client machines with 1,000 threads each
WRITE PERFORMANCE READ PERFORMANCE
• Single client with 1,000 threads
• MySQL SysBench
• R3.8XL with 32 cores and 244 GB RAM
SQLベンチマーク結果
27. RDS MySQLのI/Oトラフィック
BINLOG DATA DOUBLE-WRITELOG FRM FILES
T Y P E O F W R IT E
MYSQL WITH STANDBY
EBSに書き込み – EBSがミラーへ複製し、両方終了後ack
DRBD経由でスタンバイインスタンスへ書き込みを伝播
スタンバイインスタンス側のEBSに書き込み
IO FLOW
ステップ1, 3, 5はシーケンシャルかつ同期
それによりレイテンシーもパフォーマンスのゆらぎも増加
各ユーザー操作には様々な書き込みタイプがある
書き込み破損を避けるためにデータブロックを2回書く必要性
OBSERVATIONS
780K トランザクション
7,388K I/Os (ミラー, スタンバイを除く)
1トランザクション当たり平均9.5 I/Os
PERFORMANCE
30 minute SysBench write-only workload, 100 GB data set, RDS SingleAZ, 30K
PIOPS
EBS mirrorEBS mirror
AZ 1 AZ 2
Amazon S3
EBS
Amazon Elastic
Block Store (EBS)
Primary
instance
Standby
instance
1
2
3
4
5
28. AuroraのI/Oトラフィック(データベース)
AZ 1 AZ 3
Primary
instance
Amazon S3
AZ 2
Replica
instance
AMAZON AURORA
ASYNC
4/6 QUORUM
DISTRIBUTED
WRITES
BINLOG DATA DOUBLE-WRITELOG FRM FILES
T Y P E O F W R IT E
30 minute SysBench write-only workload, 100 GB data set
IO FLOW
REDOログレコードのみ書き込む; 全てのステップは非同期
データブロックは書かない(チェックポイント, キャッシュ置換時)
6倍のログ書き込みだが, 1/9のネットワークトラフィック
ネットワークとストレージのレイテンシー異常時の耐性
OBSERVATIONS
27,378K トランザクション 35X MORE
950K I/Os (includes 6X amplification) 7.7X LESS
1トランザクション当たり平均0.035 I/Os 270X LESS
PERFORMANCE
REDOログレコードをまとめる – 完全にLSN順に並ぶ
適切なセグメントに分割する – 部分ごとに並ぶ
ストレージノードへまとめて書き込む
32. Advanced monitoring
50+ system/OS metrics | sorted process list view | 1-60 sec granularity
alarms on specific metrics | egress to CloudWatch Logs | integration with 3rd-party tools
coming soon
ALARM
33. Important systems and OS metrics
User
System
Wait
IRQ
Idle
CPU Utilization
Rx per declared ethn
Tx per declared ethn
Network
Num processes
Num interruptible
Num non-interruptible
Num zombie
Processes
Process ID
Process name
VSS
Res
Mem %
consumed
CPU % used
CPU time
Parent ID
Process List
MemTotal
MemFree
Buffers
Cached
SwapCached
Active
Inactive
SwapTotal
SwapFree
Dirty
Writeback
Mapped
Slab
Memory
TPS
Blk_read
Blk_wrtn
read_kb
read_IOs
read_size
write_kb
write_IOs
write_size
avg_rw_size
avg_queue_len
Device IO
Free
capacity
Used
% Used
File System