SlideShare ist ein Scribd-Unternehmen logo
1 von 72
Downloaden Sie, um offline zu lesen
Š2015, Amazon Web Services, Inc. or its affiliates. All rights reserved
Amazon Elastic Block Store
Deep Dive
Dougal Ballantyne, HPC Solutions Architect
What we’ll cover
Amazon EBS overview
• Volumes
• Snapshots
Performance
Encryption
Q&A
EBS overview
For most builders AWS is get in and go!
Source: http://www.trucksplanet.com/catalog/model.php?id=1020
A “normal” hard drive
EBS =
What is EBS?
• Network block storage
• Designed for five nines of availability
• Attaches to Amazon EC2 within the same
Availability Zone
• Provides point-in-time snapshots to
Amazon S3
More about EBS
• It’s a service!
• It’s independent of EC2
• It has regional and AZ availability goals
– All EBS volumes are designed for 99.999% availability
• Over 1.5 million volumes are created per day
A few definitions…
• IOPS: Input/output operations per second (#)
• Throughput: Read/write rate to storage (MB/s)
• Latency: Delay between request and completion (ms)
• Capacity: Volume of data that can be stored (GB)
• Block size: Size of each I/O (KB)
EBS volume types
• General Purpose (SSD)
• Provisioned IOPS (SSD)
• Magnetic
When performance matters, use SSD-backed volumes
EBS SSD volumes
• Applies to both General Purpose and
Provisioned IOPS
• IOPS measured up to 256 KB
• Single-digit ms latency
• Designed for 99.999% availability
EBS General Purpose volumes (SSD)
New default volume type for EBS
Every volume can burst up to 3,000 IOPS
• Larger volumes can burst for longer periods
3 IOPS per GB baseline performance,
maximum of 10,000 IOPS
99% performance consistency
Up to 160 MB/s throughput
General Purpose (SSD) – Burst & baseline
16 KB I/O size
(2) Max I/O credit per bucket is 5.4M
(1) Always accumulating 3
IOPS per GB per second
(3) You can spend up to
3000 IOPS per second
Understanding General Purpose (SSD) bursting
Baseline performance = 3 IOPS per GB
Minutes to empty a full I/O credit bucket for various volume sizes
The larger the volume, the longer it takes to empty the I/O credit bucket
1 TB or larger volume will never exhaust its I/O credit bucket
Minutes to empty a full IO credit bucket for various sizes
The larger the volume, the longer it takes to empty the I/O credit bucket
1 TB or larger volume will never exhaust its I/O credit bucket
General Purpose (SSD) volumes example
Microsoft Windows 30 GB boot volume:
• Gets initial I/O credit of 5.4M
• Could burst for up to 30 mins @ 3000 IOPS
• Always accumulating 90 I/O credits per
second
Improved instance boot time
m3.medium
Volume type Boot time Access time OS
GP2 3:31 4:33 Windows Server
2012
Magnetic 4:30 7:16 Windows Server
2012
GP2 0:36 0:45 CentOS6
Magnetic 0:57 1:16 CentOS6
40% Reduction in boot times by using General Purpose SSD
1 TB PIOPS volume with 4K IOPS = $526.40 per month per volume
GP2 1 TB volume with 3000 IOPS = $102.40
GP2 2 x 500 GB volume at 3K, Burst to 6K = $102.40
80% cost savings, 50% more peak I/O with
General Purpose SSD
Database volume
Guidelines for sizing General Purpose (SSD)
volumes
Generic boot, developer, test/dev, and web apps:
Provision GB required for your applications
Database apps:
1. Calculate the IOPS required in steady state
2. Perform this calculation: (steady state IOPS) á 3 = GB to
provision
Note: I/O bursts will support:
• Database load or table scan operations
• Spike in I/O workload
20
EBS PIOPS (SSD) volumes
• Best for I/O intensive databases that require highest
consistency
• Throughput up to 320 MB/sec
• Provision up to 20,000 IOPS per volume
(supports IOPS:GB ratio of 30)
• Designed for 99.9% performance consistency
EBS Magnetic volumes
• Best for cold workloads (rarely accessed data that needs
always-on access)
• IOPS: ~100 IOPS steady-state, with best-effort bursts
• Throughput: variable by workload, best effort to 10s of MBs
• Latency: Varies, reads typically ~20-40 ms, writes typically
~2-10 ms
EBS volume types - summary
General Purpose (SSD) Provisioned IOPS (SSD) Magnetic
Recommend use cases
Boot volumes
Small to med DBs
Dev and test
I/O-intensive workloads
Large DBs
Cold storage
Storage media SSD-backed SSD-backed Magnetic-backed
Volume size 1 GB - 16 TB 4 GB - 16 TB 1 GB - 1 TB
Max IOPS per volume 10,000 IOPS 20,000 IOPS ~100 IOPS
Burst < 1 TB to 3000 IOPS baseline baseline
Read and write peak throughput 160 MB/s 320 MB/s ~50-90 MBps
Max IOPS per node (16k) 48,000 48,000 48,000
Peak throughput node 800 MB/s 800 MB/s 800 MB/s
Latency (random read) 1-2 ms 1-2 ms 20-40 ms
API Name gp2 io1 standard
Price* $.10/GB-month
$.125/GB-month
$.065/provisioned IOPS
$.05/GB-month
$.05/ 1M I/O
Why is General Purpose SSD the default?
High baseline level of performance
Burst to higher level of IOPS
Single, capacity-based pricing dimension
• Makes forecasting very easy
• Eliminates sizing complexity
Attractive price/gigabyte/price/IOPS density
Always use General Purpose (SSD) for boot volumes
Migrating to General Purpose (SSD) volumes
Change volume type during launch
Use EBS snapshots
You may be able to resize the file system
Use General Purpose (SSD) sizing guide
Benefits of using EBS snapshots
More durable than an EBS volume
• Stored in Amazon S3
Differential (space-efficient)
• First snapshot is a clone
• Pay only for what you use
Availability Zone-independent
• Clone into any AZ
Can be copied efficiently across regions
Tagging snapshots
Use tags to add
metadata to snapshots:
• Type (daily, weekly)
• Version
• Instance Id
• Volume Id
• Application stack
Performance
Queuing theory – Little’s law
Little’s law is the foundation for performance
tuning theory
• Mathematically proven by John Little in 1961
L = A * W
L = Queue length = average number of requests waiting
A = Arrival rate = the rate of requests arriving
W = Wait time = average wait time
EBS performance is related to this law
Performance optimization is measured by:
IOPS: Read/write I/O rate (IOPS)
Latency: Time between I/O submission
and completion (ms)
Throughput: Read/write transfer rate
(MB/s); throughput = IOPS X I/O size
Four key components of performance optimization
1. EC2 instance
2. I/O
4. EBS
3. Network
link
Tools available for performance tuning:
1. EC2 instance: Network bandwidth (Mbps)
2. EBS-optimized instance: EC2 instance option (On/Off)
3. Workload: Block size, read/write ratio, serialization
4. Queue depth: The number of outstanding I/Os
5. RAID: Stripe volumes to maximize performance
6. Pre-warming: Eliminate first-touch penalty
1. EC2 instance
Compute-optimized – C3,C4
Memory-optimized – R3
General-Purpose – M3
EBS
EC2
Select the EC2 instance that has the right network,
RAM, and CPU resources for your applications
2. EBS-optimized instance
Most instance families support the EBS-optimized flag
EBS-optimized instances now support up to 4 GB/s
• Drive 32,000 16K IOPS or 500 MB/s
EC2 *.8xlarge instances support 10 Gb/s network
Max IOPS per node supported is ~48,000 IOPS @ 16K I/O
Use EBS-optimized instances for
consistent EBS performance
3. Workload
I/O size:
• 4 KB to 64 MB
I/O pattern:
• Sequential and random
I/O type:
• Read and write
I/O concurrency:
• Number of concurrent I/O
EBS SSD-backed volumes measure I/O size up to 256 KB
EBS SSD-backed volumes deliver same performance for read and write
EBS IOPS and throughput limits
20,000 IOPS
PIOPS volume
20,000 IOPS
320 MB/s
throughput
You can achieve 20,000 IOPS when
driving smaller I/O operations
You can achieve up to 320 MB/s
when driving larger I/O operations
EBS IOPS and throughput limits
8,000 IOPS
PIOPS volume
8,000 IOPS
320 MB/s
throughput
8,000 x 64 KB=512 MB/s
1,250 x 256 KB = 320 MB/s
8,000 X 8 KB = 64 MB/s
8,000 X 16 KB = 128 MB/s
16,000 x 8 KB = 128 MB/s
8,000 x 32 KB = 256 MB/s
Block (I/O) size determines whether your
application is IOPS bound or throughput bound
4. Queue depth
An I/O operation
EBS
After it’s gone, it’s gone
EC2
Queue depth is the pending I/O for a volume
Monitoring EBS volumes
Important Amazon
CloudWatch metrics:
• IOPS and bandwidth
• Latency
• Queue depth
I/O latency
• Elapsed time between I/O submission and its completion
time
• Performance requirements may be driven by IOPS or
latency or both
• There is an interdependency among IOPS, queue depth,
and latency
Latency: What does it look like?
Latency: Introducing the boxplot
Latency: baseline
Latency: General Purpose SSD volume
Latency: Latest generation instance
EC2: Instance comparison
m2.4xlarge
CPU: Intel Xeon
vCPU: 8
Memory: 68.4 GiB
Price: $0.98/hour
r3.2xlarge
CPU: Intel Xeon E5-2670 v2
vCPU: 8
Memory: 61 GiB
Enhanced Networking
Price: $0.70/hour
* All pricing from us-east-1
Random read latency
0.075
35.1
0
5
10
15
20
25
30
35
40
1 4 8 12 16 20 24 28 32
LatencyTP90(ms)
Queue depth
Random read latency across various queue depths
Latency (TP90)
Read latency linearly increases with increase in queue depth
0.075
35.1
2.09
1,865
4,152
3,851
-
500
1,000
1,500
2,000
2,500
3,000
3,500
4,000
4,500
0
5
10
15
20
25
30
35
1 4 8 12 16 20 24 28 32
LatencyTP90(ms)
Queue depth
16 KB random read IOPS, latency across various queue depths
Latency (TP90) Avg Read IOPS
IOPS
Queue depth of 1 has the lowest latency, but also has the lowest IOPS
Random read latency
0.075
35.1
2.09
1,865
4,152
3,851
-
500
1,000
1,500
2,000
2,500
3,000
3,500
4,000
4,500
0
5
10
15
20
25
30
35
1 4 8 12 16 20 24 28 32
LatencyTP90(ms)
Queue depth
16 KB random read IOPS, latency across various queue depths
Latency (TP90) Avg Read IOPS
IOPS
Queue depth between 4 and 8 has the optimal IOPS and latency performance
Random read latency
0.075
35.1
2.09
1,865
4,152
3,851
-
500
1,000
1,500
2,000
2,500
3,000
3,500
4,000
4,500
0
5
10
15
20
25
30
35
1 4 8 12 16 20 24 28 32
LatencyTP90(ms)
Queue depth
16 KB random read IOPS, latency across various queue depths
Latency (TP90) Avg Read IOPS
IOPS
Higher queue depths have negative impact on IOPS and latency
Random read latency
Random write latency
0.08
7.71
845
4,152
0
500
1,000
1,500
2,000
2,500
3,000
3,500
4,000
4,500
0
1
2
3
4
5
6
7
8
9
10
1 4 8 12 16 20 24 28 32
LatencyTP90(ms)
Queue depth
16 KB random write IOPS, latency across various queue depths
Latency (TP90) AvgIOPS
IOPS
Write latency queue depth and IOPS interaction is similar to that of read latency
Optimal queue depth to achieve lower latency and highest IOPS
is typically between 4-8; ~1 queue depth per 500 IOPS
EBS-optimized instances provide consistent latency experience
Use SSD volumes with latest-generation EC2 instances
5. RAID
Increases performance, or capacity, or both
Over 320 MB/sec or 20K IOPS, striping needed
Don’t mix volume types
Typically RAID 0 or LVM stripe
Avoid RAID for redundancyEBS
EC2
Maximum performance per instance
How should you think about taking snapshots on a striped volume?
• Quiesce file systems and take snapshot
• Unmount file system and take snapshot
• Use OS-specific tools
12×400 GB PIOPS, pre-warmed, RAID 0 LVM, stripe size 128 KB, attached to CR1 instance
Use stripe size of 128 KB or 256 KB
6. Pre-warming
• Eliminates first-access penalty
• Typically 5%, extreme worst case of 50% performance reduction in IOPS and latency
when volumes are used without pre-warming:
– Performance is as provisioned when all the chunks are accessed
• Recommendations before benchmarking:
– For new volumes:
• Linux: DD write
• Windows: NTFS full format
– Takes roughly an hour to pre-warm 1 TB PIOPS/General Purpose (SSD) volumes
• Always check latest documentation
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-prewarm.html
Use large block size to speed up your pre-warming
Example: sudo dd if=/dev/xvdf
of=/dev/xvdf conv=notrunc bs=1M
Final tips
• Try to use Ext4 or XFS
• Alignment can matter; check tools use 4k
Workload/
software
Typical block
size
Random/
Seq?
Max EBS @ 500
MB/s instances
Max EBS @
1 GB/s instances
Max EBS @ 10 GB/s
instances
Oracle DB Configurable:2 KB
–16 KB
Default 8 KB
random ~7,800 IOPS ~15,600 IOPS ~96,000 IOPS
Microsoft SQL
Server
8 KB w/ 64 KB
extents
random ~7,800 IOPS ~15,600 IOPS ~80,000 IOPS
MySQL 16 KB random ~4,000 IOPS ~7,800 IOPS ~48,000 IOPS
PostgreSQL 8 KB random ~7,800 IOPS ~15,600 IOPS ~96,000 IOPS
MongoDB 4 KB serialized ~15,600 IOPS ~31,000 IOPS ~96,000 IOPS
Apache
Cassandra
4 KB random ~15,600 IOPS ~31,000 IOPS ~96,000 IOPS
GlusterFS 128 KB sequential ~500 IOPS ~1,000 IOPS ~6,000 IOPS
Cheat sheet sample: Storage workloads on AWS
EBS-optimized instance
Four key components: balanced (Oh, YEAH!!)
EC2
A “boatload” of I/O
Right-sized EBS
Tools available for tuning
EC2 Instance: Network transfer rate (Mbps)
EBS Optimized: EC2 instance option (On/Off)
Workload: Block size, read/write ratio, serialization
Queue Depth: The number of outstanding I/Os (#)
RAID: Stripe volumes to maximize performance
Pre-warm: Eliminates first touch penalty
Encryption
Why encrypt data volumes?
Security:
Protects against someone who might gain unauthorized physical access to the volume
Can help with internal or external compliance efforts:
• Chief Information Security Officer wants encryption to protect sensitive corporate
data
• 3rd-party auditors want to see evidence that sensitive customer data is encrypted
Ease of use and operating cost reduction:
Unlike open-source or 3rd-party solutions, such as Trend Micro SecureCloud, SafeNet
ProtectV, etc., EBS encryption offers:
• “Checkbox” encryption at no extra cost
• Automated, secure key management
AWS KMS
A service that simplifies encrypting data and managing keys
Allows customers to create, use, and manage encryption keys from within
their own applications and supported AWS services (Amazon S3, EBS,
Amazon Redshift)
Key management functions include:
• Create, enable, disable, rotate, and define usage policy on master keys
• Generate a data key that can be exported from the service after it’s
encrypted by a master key
• Audit use of master keys in AWS CloudTrail
Available in 9 commercial regions
Use Create Volume in the EC2 Console
How AWS services integrate with AWS KMS
2-tiered key hierarchy using envelope
encryption
Unique data key encrypts customer data
AWS KMS master keys encrypt data keys
Benefits of envelope encryption:
• Limits risk of a compromised data key
• Better performance for encrypting large data
• Easier to manage a small number of master
keys than millions of data keys
Master key(s)
Data key 1
S3 object EBS
volume
Amazon
Redshift
cluster
Data key 2 Data key 3 Data key 4
Custom
application
KMS
Summary
Use encryption if
you need it
Take snapshotsSelect the right
instance for your
workload
Select the right
volume for your
workload
Q&A
SAN FRANCISCO

Weitere ähnliche Inhalte

Was ist angesagt?

Best Practices of HA and Replication of PostgreSQL in Virtualized Environments
Best Practices of HA and Replication of PostgreSQL in Virtualized EnvironmentsBest Practices of HA and Replication of PostgreSQL in Virtualized Environments
Best Practices of HA and Replication of PostgreSQL in Virtualized Environments
Jignesh Shah
 
클라우드 기반 AWS 데이터베이스 선택 옵션 - AWS Summit Seoul 2017
클라우드 기반 AWS 데이터베이스 선택 옵션 - AWS Summit Seoul 2017 클라우드 기반 AWS 데이터베이스 선택 옵션 - AWS Summit Seoul 2017
클라우드 기반 AWS 데이터베이스 선택 옵션 - AWS Summit Seoul 2017
Amazon Web Services Korea
 
Operations, Consistency, Failover for Multi-DC Clusters (Alexander Dejanovski...
Operations, Consistency, Failover for Multi-DC Clusters (Alexander Dejanovski...Operations, Consistency, Failover for Multi-DC Clusters (Alexander Dejanovski...
Operations, Consistency, Failover for Multi-DC Clusters (Alexander Dejanovski...
DataStax
 

Was ist angesagt? (20)

Improving Kafka at-least-once performance at Uber
Improving Kafka at-least-once performance at UberImproving Kafka at-least-once performance at Uber
Improving Kafka at-least-once performance at Uber
 
Enabling product personalisation using Apache Kafka, Apache Pinot and Trino w...
Enabling product personalisation using Apache Kafka, Apache Pinot and Trino w...Enabling product personalisation using Apache Kafka, Apache Pinot and Trino w...
Enabling product personalisation using Apache Kafka, Apache Pinot and Trino w...
 
Best Practices of HA and Replication of PostgreSQL in Virtualized Environments
Best Practices of HA and Replication of PostgreSQL in Virtualized EnvironmentsBest Practices of HA and Replication of PostgreSQL in Virtualized Environments
Best Practices of HA and Replication of PostgreSQL in Virtualized Environments
 
Aws Architecture Fundamentals
Aws Architecture FundamentalsAws Architecture Fundamentals
Aws Architecture Fundamentals
 
Using S3 Select to Deliver 100X Performance Improvements Versus the Public Cloud
Using S3 Select to Deliver 100X Performance Improvements Versus the Public CloudUsing S3 Select to Deliver 100X Performance Improvements Versus the Public Cloud
Using S3 Select to Deliver 100X Performance Improvements Versus the Public Cloud
 
Apache kafka
Apache kafkaApache kafka
Apache kafka
 
1 Million Writes per second on 60 nodes with Cassandra and EBS
1 Million Writes per second on 60 nodes with Cassandra and EBS1 Million Writes per second on 60 nodes with Cassandra and EBS
1 Million Writes per second on 60 nodes with Cassandra and EBS
 
Comparing Apache Cassandra 4.0, 3.0, and ScyllaDB
Comparing Apache Cassandra 4.0, 3.0, and ScyllaDBComparing Apache Cassandra 4.0, 3.0, and ScyllaDB
Comparing Apache Cassandra 4.0, 3.0, and ScyllaDB
 
Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...
Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...
Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...
 
Secrets of Performance Tuning Java on Kubernetes
Secrets of Performance Tuning Java on KubernetesSecrets of Performance Tuning Java on Kubernetes
Secrets of Performance Tuning Java on Kubernetes
 
Introduction to Amazon Relational Database Service (Amazon RDS)
Introduction to Amazon Relational Database Service (Amazon RDS)Introduction to Amazon Relational Database Service (Amazon RDS)
Introduction to Amazon Relational Database Service (Amazon RDS)
 
Introduction to AWS Storage Services
Introduction to AWS Storage ServicesIntroduction to AWS Storage Services
Introduction to AWS Storage Services
 
Amazon Kinesis
Amazon KinesisAmazon Kinesis
Amazon Kinesis
 
Athena & Step Function 으로 통계 파이프라인 구축하기 - 변규현 (당근마켓) :: AWS Community Day Onl...
Athena & Step Function 으로 통계 파이프라인 구축하기 - 변규현 (당근마켓) :: AWS Community Day Onl...Athena & Step Function 으로 통계 파이프라인 구축하기 - 변규현 (당근마켓) :: AWS Community Day Onl...
Athena & Step Function 으로 통계 파이프라인 구축하기 - 변규현 (당근마켓) :: AWS Community Day Onl...
 
From Message to Cluster: A Realworld Introduction to Kafka Capacity Planning
From Message to Cluster: A Realworld Introduction to Kafka Capacity PlanningFrom Message to Cluster: A Realworld Introduction to Kafka Capacity Planning
From Message to Cluster: A Realworld Introduction to Kafka Capacity Planning
 
Maximizing EC2 and Elastic Block Store Disk Performance
Maximizing EC2 and Elastic Block Store Disk PerformanceMaximizing EC2 and Elastic Block Store Disk Performance
Maximizing EC2 and Elastic Block Store Disk Performance
 
클라우드 기반 AWS 데이터베이스 선택 옵션 - AWS Summit Seoul 2017
클라우드 기반 AWS 데이터베이스 선택 옵션 - AWS Summit Seoul 2017 클라우드 기반 AWS 데이터베이스 선택 옵션 - AWS Summit Seoul 2017
클라우드 기반 AWS 데이터베이스 선택 옵션 - AWS Summit Seoul 2017
 
Operations, Consistency, Failover for Multi-DC Clusters (Alexander Dejanovski...
Operations, Consistency, Failover for Multi-DC Clusters (Alexander Dejanovski...Operations, Consistency, Failover for Multi-DC Clusters (Alexander Dejanovski...
Operations, Consistency, Failover for Multi-DC Clusters (Alexander Dejanovski...
 
Intro to AWS: Database Services
Intro to AWS: Database ServicesIntro to AWS: Database Services
Intro to AWS: Database Services
 
Introduction to Amazon Elastic File System (EFS)
Introduction to Amazon Elastic File System (EFS)Introduction to Amazon Elastic File System (EFS)
Introduction to Amazon Elastic File System (EFS)
 

Ähnlich wie Deep Dive: Maximizing EC2 and EBS Performance

Using Windows Storage Spaces and iSCSI on Amazon EBS
Using Windows Storage Spaces and iSCSI on Amazon EBSUsing Windows Storage Spaces and iSCSI on Amazon EBS
Using Windows Storage Spaces and iSCSI on Amazon EBS
Laroy Shtotland
 
Sizing MongoDB on AWS with Wired Tiger-Patrick and Vigyan-Final
Sizing MongoDB on AWS with Wired Tiger-Patrick and Vigyan-FinalSizing MongoDB on AWS with Wired Tiger-Patrick and Vigyan-Final
Sizing MongoDB on AWS with Wired Tiger-Patrick and Vigyan-Final
Vigyan Jain
 

Ähnlich wie Deep Dive: Maximizing EC2 and EBS Performance (20)

Deep Dive - Maximising EC2 & EBS Performance
Deep Dive - Maximising EC2 & EBS PerformanceDeep Dive - Maximising EC2 & EBS Performance
Deep Dive - Maximising EC2 & EBS Performance
 
AWS Summit Seoul 2015 - EBS 성능 향상 및 EC2 비용 최적화 기법
AWS Summit Seoul 2015 - EBS 성능 향상 및 EC2 비용 최적화 기법AWS Summit Seoul 2015 - EBS 성능 향상 및 EC2 비용 최적화 기법
AWS Summit Seoul 2015 - EBS 성능 향상 및 EC2 비용 최적화 기법
 
Maximizing EC2 and Elastic Block Store Disk Performance
Maximizing EC2 and Elastic Block Store Disk PerformanceMaximizing EC2 and Elastic Block Store Disk Performance
Maximizing EC2 and Elastic Block Store Disk Performance
 
Overview and Best Practices for Amazon Elastic Block Store - September 2016 W...
Overview and Best Practices for Amazon Elastic Block Store - September 2016 W...Overview and Best Practices for Amazon Elastic Block Store - September 2016 W...
Overview and Best Practices for Amazon Elastic Block Store - September 2016 W...
 
AWS - an introduction to bursting (GP2 - T2)
AWS - an introduction to bursting (GP2 - T2)AWS - an introduction to bursting (GP2 - T2)
AWS - an introduction to bursting (GP2 - T2)
 
SRV413 Deep Dive on Elastic Block Storage (Amazon EBS)
SRV413 Deep Dive on Elastic Block Storage (Amazon EBS)SRV413 Deep Dive on Elastic Block Storage (Amazon EBS)
SRV413 Deep Dive on Elastic Block Storage (Amazon EBS)
 
(SDD416) Amazon EBS Deep Dive | AWS re:Invent 2014
(SDD416) Amazon EBS Deep Dive | AWS re:Invent 2014(SDD416) Amazon EBS Deep Dive | AWS re:Invent 2014
(SDD416) Amazon EBS Deep Dive | AWS re:Invent 2014
 
SRV413 Deep Dive on Elastic Block Storage (Amazon EBS)
SRV413 Deep Dive on Elastic Block Storage (Amazon EBS)SRV413 Deep Dive on Elastic Block Storage (Amazon EBS)
SRV413 Deep Dive on Elastic Block Storage (Amazon EBS)
 
Maximizing EC2 and Elastic Block Store Disk Performance (STG302) | AWS re:Inv...
Maximizing EC2 and Elastic Block Store Disk Performance (STG302) | AWS re:Inv...Maximizing EC2 and Elastic Block Store Disk Performance (STG302) | AWS re:Inv...
Maximizing EC2 and Elastic Block Store Disk Performance (STG302) | AWS re:Inv...
 
AWS re:Invent 2016: Deep Dive on Amazon Elastic Block Store (STG301)
AWS re:Invent 2016: Deep Dive on Amazon Elastic Block Store (STG301)AWS re:Invent 2016: Deep Dive on Amazon Elastic Block Store (STG301)
AWS re:Invent 2016: Deep Dive on Amazon Elastic Block Store (STG301)
 
SRV413 Deep Dive on Elastic Block Storage (Amazon EBS)
SRV413 Deep Dive on Elastic Block Storage (Amazon EBS)SRV413 Deep Dive on Elastic Block Storage (Amazon EBS)
SRV413 Deep Dive on Elastic Block Storage (Amazon EBS)
 
(STG403) Amazon EBS: Designing for Performance
(STG403) Amazon EBS: Designing for Performance(STG403) Amazon EBS: Designing for Performance
(STG403) Amazon EBS: Designing for Performance
 
Optimize MySQL Workloads with Amazon Elastic Block Store - February 2017 AWS ...
Optimize MySQL Workloads with Amazon Elastic Block Store - February 2017 AWS ...Optimize MySQL Workloads with Amazon Elastic Block Store - February 2017 AWS ...
Optimize MySQL Workloads with Amazon Elastic Block Store - February 2017 AWS ...
 
AWS Webcast - Cost and Performance Optimization in Amazon RDS
AWS Webcast - Cost and Performance Optimization in Amazon RDSAWS Webcast - Cost and Performance Optimization in Amazon RDS
AWS Webcast - Cost and Performance Optimization in Amazon RDS
 
Using Windows Storage Spaces and iSCSI on Amazon EBS
Using Windows Storage Spaces and iSCSI on Amazon EBSUsing Windows Storage Spaces and iSCSI on Amazon EBS
Using Windows Storage Spaces and iSCSI on Amazon EBS
 
Sizing MongoDB on AWS with Wired Tiger-Patrick and Vigyan-Final
Sizing MongoDB on AWS with Wired Tiger-Patrick and Vigyan-FinalSizing MongoDB on AWS with Wired Tiger-Patrick and Vigyan-Final
Sizing MongoDB on AWS with Wired Tiger-Patrick and Vigyan-Final
 
Elastic Block Storage (EBS)
Elastic Block Storage (EBS)Elastic Block Storage (EBS)
Elastic Block Storage (EBS)
 
Understanding Elastic Block Store Availability and Performance
Understanding Elastic Block Store Availability and PerformanceUnderstanding Elastic Block Store Availability and Performance
Understanding Elastic Block Store Availability and Performance
 
AWS Summit London 2014 | Maximising EC2 and EBC Performance (400)
AWS Summit London 2014 | Maximising EC2 and EBC Performance (400)AWS Summit London 2014 | Maximising EC2 and EBC Performance (400)
AWS Summit London 2014 | Maximising EC2 and EBC Performance (400)
 
Consistent High IO Performance with Amazon Elastic Block Store
Consistent High IO Performance with Amazon Elastic Block StoreConsistent High IO Performance with Amazon Elastic Block Store
Consistent High IO Performance with Amazon Elastic Block Store
 

Mehr von Amazon Web Services

Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
Amazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
Amazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
Amazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
Amazon Web Services
 

Mehr von Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalitĂ  Server...
Big Data per le Startup: come creare applicazioni Big Data in modalitĂ  Server...Big Data per le Startup: come creare applicazioni Big Data in modalitĂ  Server...
Big Data per le Startup: come creare applicazioni Big Data in modalitĂ  Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

KĂźrzlich hochgeladen

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
Christopher Logan Kennedy
 

KĂźrzlich hochgeladen (20)

DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 

Deep Dive: Maximizing EC2 and EBS Performance

  • 1. Š2015, Amazon Web Services, Inc. or its affiliates. All rights reserved Amazon Elastic Block Store Deep Dive Dougal Ballantyne, HPC Solutions Architect
  • 2. What we’ll cover Amazon EBS overview • Volumes • Snapshots Performance Encryption Q&A
  • 4. For most builders AWS is get in and go! Source: http://www.trucksplanet.com/catalog/model.php?id=1020
  • 7. What is EBS? • Network block storage • Designed for five nines of availability • Attaches to Amazon EC2 within the same Availability Zone • Provides point-in-time snapshots to Amazon S3
  • 8. More about EBS • It’s a service! • It’s independent of EC2 • It has regional and AZ availability goals – All EBS volumes are designed for 99.999% availability • Over 1.5 million volumes are created per day
  • 9. A few definitions… • IOPS: Input/output operations per second (#) • Throughput: Read/write rate to storage (MB/s) • Latency: Delay between request and completion (ms) • Capacity: Volume of data that can be stored (GB) • Block size: Size of each I/O (KB)
  • 10. EBS volume types • General Purpose (SSD) • Provisioned IOPS (SSD) • Magnetic When performance matters, use SSD-backed volumes
  • 11. EBS SSD volumes • Applies to both General Purpose and Provisioned IOPS • IOPS measured up to 256 KB • Single-digit ms latency • Designed for 99.999% availability
  • 12. EBS General Purpose volumes (SSD) New default volume type for EBS Every volume can burst up to 3,000 IOPS • Larger volumes can burst for longer periods 3 IOPS per GB baseline performance, maximum of 10,000 IOPS 99% performance consistency Up to 160 MB/s throughput
  • 13. General Purpose (SSD) – Burst & baseline 16 KB I/O size
  • 14. (2) Max I/O credit per bucket is 5.4M (1) Always accumulating 3 IOPS per GB per second (3) You can spend up to 3000 IOPS per second Understanding General Purpose (SSD) bursting Baseline performance = 3 IOPS per GB
  • 15. Minutes to empty a full I/O credit bucket for various volume sizes The larger the volume, the longer it takes to empty the I/O credit bucket 1 TB or larger volume will never exhaust its I/O credit bucket
  • 16. Minutes to empty a full IO credit bucket for various sizes The larger the volume, the longer it takes to empty the I/O credit bucket 1 TB or larger volume will never exhaust its I/O credit bucket
  • 17. General Purpose (SSD) volumes example Microsoft Windows 30 GB boot volume: • Gets initial I/O credit of 5.4M • Could burst for up to 30 mins @ 3000 IOPS • Always accumulating 90 I/O credits per second
  • 18. Improved instance boot time m3.medium Volume type Boot time Access time OS GP2 3:31 4:33 Windows Server 2012 Magnetic 4:30 7:16 Windows Server 2012 GP2 0:36 0:45 CentOS6 Magnetic 0:57 1:16 CentOS6 40% Reduction in boot times by using General Purpose SSD
  • 19. 1 TB PIOPS volume with 4K IOPS = $526.40 per month per volume GP2 1 TB volume with 3000 IOPS = $102.40 GP2 2 x 500 GB volume at 3K, Burst to 6K = $102.40 80% cost savings, 50% more peak I/O with General Purpose SSD Database volume
  • 20. Guidelines for sizing General Purpose (SSD) volumes Generic boot, developer, test/dev, and web apps: Provision GB required for your applications Database apps: 1. Calculate the IOPS required in steady state 2. Perform this calculation: (steady state IOPS) á 3 = GB to provision Note: I/O bursts will support: • Database load or table scan operations • Spike in I/O workload 20
  • 21. EBS PIOPS (SSD) volumes • Best for I/O intensive databases that require highest consistency • Throughput up to 320 MB/sec • Provision up to 20,000 IOPS per volume (supports IOPS:GB ratio of 30) • Designed for 99.9% performance consistency
  • 22. EBS Magnetic volumes • Best for cold workloads (rarely accessed data that needs always-on access) • IOPS: ~100 IOPS steady-state, with best-effort bursts • Throughput: variable by workload, best effort to 10s of MBs • Latency: Varies, reads typically ~20-40 ms, writes typically ~2-10 ms
  • 23. EBS volume types - summary General Purpose (SSD) Provisioned IOPS (SSD) Magnetic Recommend use cases Boot volumes Small to med DBs Dev and test I/O-intensive workloads Large DBs Cold storage Storage media SSD-backed SSD-backed Magnetic-backed Volume size 1 GB - 16 TB 4 GB - 16 TB 1 GB - 1 TB Max IOPS per volume 10,000 IOPS 20,000 IOPS ~100 IOPS Burst < 1 TB to 3000 IOPS baseline baseline Read and write peak throughput 160 MB/s 320 MB/s ~50-90 MBps Max IOPS per node (16k) 48,000 48,000 48,000 Peak throughput node 800 MB/s 800 MB/s 800 MB/s Latency (random read) 1-2 ms 1-2 ms 20-40 ms API Name gp2 io1 standard Price* $.10/GB-month $.125/GB-month $.065/provisioned IOPS $.05/GB-month $.05/ 1M I/O
  • 24. Why is General Purpose SSD the default? High baseline level of performance Burst to higher level of IOPS Single, capacity-based pricing dimension • Makes forecasting very easy • Eliminates sizing complexity Attractive price/gigabyte/price/IOPS density
  • 25. Always use General Purpose (SSD) for boot volumes
  • 26. Migrating to General Purpose (SSD) volumes Change volume type during launch Use EBS snapshots You may be able to resize the file system Use General Purpose (SSD) sizing guide
  • 27. Benefits of using EBS snapshots More durable than an EBS volume • Stored in Amazon S3 Differential (space-efficient) • First snapshot is a clone • Pay only for what you use Availability Zone-independent • Clone into any AZ Can be copied efficiently across regions
  • 28. Tagging snapshots Use tags to add metadata to snapshots: • Type (daily, weekly) • Version • Instance Id • Volume Id • Application stack
  • 30. Queuing theory – Little’s law Little’s law is the foundation for performance tuning theory • Mathematically proven by John Little in 1961 L = A * W L = Queue length = average number of requests waiting A = Arrival rate = the rate of requests arriving W = Wait time = average wait time EBS performance is related to this law
  • 31. Performance optimization is measured by: IOPS: Read/write I/O rate (IOPS) Latency: Time between I/O submission and completion (ms) Throughput: Read/write transfer rate (MB/s); throughput = IOPS X I/O size
  • 32. Four key components of performance optimization 1. EC2 instance 2. I/O 4. EBS 3. Network link
  • 33. Tools available for performance tuning: 1. EC2 instance: Network bandwidth (Mbps) 2. EBS-optimized instance: EC2 instance option (On/Off) 3. Workload: Block size, read/write ratio, serialization 4. Queue depth: The number of outstanding I/Os 5. RAID: Stripe volumes to maximize performance 6. Pre-warming: Eliminate first-touch penalty
  • 34. 1. EC2 instance Compute-optimized – C3,C4 Memory-optimized – R3 General-Purpose – M3 EBS EC2 Select the EC2 instance that has the right network, RAM, and CPU resources for your applications
  • 35. 2. EBS-optimized instance Most instance families support the EBS-optimized flag EBS-optimized instances now support up to 4 GB/s • Drive 32,000 16K IOPS or 500 MB/s EC2 *.8xlarge instances support 10 Gb/s network Max IOPS per node supported is ~48,000 IOPS @ 16K I/O
  • 36. Use EBS-optimized instances for consistent EBS performance
  • 37. 3. Workload I/O size: • 4 KB to 64 MB I/O pattern: • Sequential and random I/O type: • Read and write I/O concurrency: • Number of concurrent I/O EBS SSD-backed volumes measure I/O size up to 256 KB EBS SSD-backed volumes deliver same performance for read and write
  • 38. EBS IOPS and throughput limits 20,000 IOPS PIOPS volume 20,000 IOPS 320 MB/s throughput You can achieve 20,000 IOPS when driving smaller I/O operations You can achieve up to 320 MB/s when driving larger I/O operations
  • 39. EBS IOPS and throughput limits 8,000 IOPS PIOPS volume 8,000 IOPS 320 MB/s throughput 8,000 x 64 KB=512 MB/s 1,250 x 256 KB = 320 MB/s 8,000 X 8 KB = 64 MB/s 8,000 X 16 KB = 128 MB/s 16,000 x 8 KB = 128 MB/s 8,000 x 32 KB = 256 MB/s
  • 40. Block (I/O) size determines whether your application is IOPS bound or throughput bound
  • 41. 4. Queue depth An I/O operation EBS After it’s gone, it’s gone EC2 Queue depth is the pending I/O for a volume
  • 42. Monitoring EBS volumes Important Amazon CloudWatch metrics: • IOPS and bandwidth • Latency • Queue depth
  • 43. I/O latency • Elapsed time between I/O submission and its completion time • Performance requirements may be driven by IOPS or latency or both • There is an interdependency among IOPS, queue depth, and latency
  • 44. Latency: What does it look like?
  • 49. EC2: Instance comparison m2.4xlarge CPU: Intel Xeon vCPU: 8 Memory: 68.4 GiB Price: $0.98/hour r3.2xlarge CPU: Intel Xeon E5-2670 v2 vCPU: 8 Memory: 61 GiB Enhanced Networking Price: $0.70/hour * All pricing from us-east-1
  • 50. Random read latency 0.075 35.1 0 5 10 15 20 25 30 35 40 1 4 8 12 16 20 24 28 32 LatencyTP90(ms) Queue depth Random read latency across various queue depths Latency (TP90) Read latency linearly increases with increase in queue depth
  • 51. 0.075 35.1 2.09 1,865 4,152 3,851 - 500 1,000 1,500 2,000 2,500 3,000 3,500 4,000 4,500 0 5 10 15 20 25 30 35 1 4 8 12 16 20 24 28 32 LatencyTP90(ms) Queue depth 16 KB random read IOPS, latency across various queue depths Latency (TP90) Avg Read IOPS IOPS Queue depth of 1 has the lowest latency, but also has the lowest IOPS Random read latency
  • 52. 0.075 35.1 2.09 1,865 4,152 3,851 - 500 1,000 1,500 2,000 2,500 3,000 3,500 4,000 4,500 0 5 10 15 20 25 30 35 1 4 8 12 16 20 24 28 32 LatencyTP90(ms) Queue depth 16 KB random read IOPS, latency across various queue depths Latency (TP90) Avg Read IOPS IOPS Queue depth between 4 and 8 has the optimal IOPS and latency performance Random read latency
  • 53. 0.075 35.1 2.09 1,865 4,152 3,851 - 500 1,000 1,500 2,000 2,500 3,000 3,500 4,000 4,500 0 5 10 15 20 25 30 35 1 4 8 12 16 20 24 28 32 LatencyTP90(ms) Queue depth 16 KB random read IOPS, latency across various queue depths Latency (TP90) Avg Read IOPS IOPS Higher queue depths have negative impact on IOPS and latency Random read latency
  • 54. Random write latency 0.08 7.71 845 4,152 0 500 1,000 1,500 2,000 2,500 3,000 3,500 4,000 4,500 0 1 2 3 4 5 6 7 8 9 10 1 4 8 12 16 20 24 28 32 LatencyTP90(ms) Queue depth 16 KB random write IOPS, latency across various queue depths Latency (TP90) AvgIOPS IOPS Write latency queue depth and IOPS interaction is similar to that of read latency
  • 55. Optimal queue depth to achieve lower latency and highest IOPS is typically between 4-8; ~1 queue depth per 500 IOPS EBS-optimized instances provide consistent latency experience Use SSD volumes with latest-generation EC2 instances
  • 56. 5. RAID Increases performance, or capacity, or both Over 320 MB/sec or 20K IOPS, striping needed Don’t mix volume types Typically RAID 0 or LVM stripe Avoid RAID for redundancyEBS EC2
  • 57. Maximum performance per instance How should you think about taking snapshots on a striped volume? • Quiesce file systems and take snapshot • Unmount file system and take snapshot • Use OS-specific tools 12×400 GB PIOPS, pre-warmed, RAID 0 LVM, stripe size 128 KB, attached to CR1 instance
  • 58. Use stripe size of 128 KB or 256 KB
  • 59. 6. Pre-warming • Eliminates first-access penalty • Typically 5%, extreme worst case of 50% performance reduction in IOPS and latency when volumes are used without pre-warming: – Performance is as provisioned when all the chunks are accessed • Recommendations before benchmarking: – For new volumes: • Linux: DD write • Windows: NTFS full format – Takes roughly an hour to pre-warm 1 TB PIOPS/General Purpose (SSD) volumes • Always check latest documentation http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-prewarm.html
  • 60. Use large block size to speed up your pre-warming Example: sudo dd if=/dev/xvdf of=/dev/xvdf conv=notrunc bs=1M
  • 61. Final tips • Try to use Ext4 or XFS • Alignment can matter; check tools use 4k
  • 62. Workload/ software Typical block size Random/ Seq? Max EBS @ 500 MB/s instances Max EBS @ 1 GB/s instances Max EBS @ 10 GB/s instances Oracle DB Configurable:2 KB –16 KB Default 8 KB random ~7,800 IOPS ~15,600 IOPS ~96,000 IOPS Microsoft SQL Server 8 KB w/ 64 KB extents random ~7,800 IOPS ~15,600 IOPS ~80,000 IOPS MySQL 16 KB random ~4,000 IOPS ~7,800 IOPS ~48,000 IOPS PostgreSQL 8 KB random ~7,800 IOPS ~15,600 IOPS ~96,000 IOPS MongoDB 4 KB serialized ~15,600 IOPS ~31,000 IOPS ~96,000 IOPS Apache Cassandra 4 KB random ~15,600 IOPS ~31,000 IOPS ~96,000 IOPS GlusterFS 128 KB sequential ~500 IOPS ~1,000 IOPS ~6,000 IOPS Cheat sheet sample: Storage workloads on AWS
  • 63. EBS-optimized instance Four key components: balanced (Oh, YEAH!!) EC2 A “boatload” of I/O Right-sized EBS
  • 64. Tools available for tuning EC2 Instance: Network transfer rate (Mbps) EBS Optimized: EC2 instance option (On/Off) Workload: Block size, read/write ratio, serialization Queue Depth: The number of outstanding I/Os (#) RAID: Stripe volumes to maximize performance Pre-warm: Eliminates first touch penalty
  • 66. Why encrypt data volumes? Security: Protects against someone who might gain unauthorized physical access to the volume Can help with internal or external compliance efforts: • Chief Information Security Officer wants encryption to protect sensitive corporate data • 3rd-party auditors want to see evidence that sensitive customer data is encrypted Ease of use and operating cost reduction: Unlike open-source or 3rd-party solutions, such as Trend Micro SecureCloud, SafeNet ProtectV, etc., EBS encryption offers: • “Checkbox” encryption at no extra cost • Automated, secure key management
  • 67. AWS KMS A service that simplifies encrypting data and managing keys Allows customers to create, use, and manage encryption keys from within their own applications and supported AWS services (Amazon S3, EBS, Amazon Redshift) Key management functions include: • Create, enable, disable, rotate, and define usage policy on master keys • Generate a data key that can be exported from the service after it’s encrypted by a master key • Audit use of master keys in AWS CloudTrail Available in 9 commercial regions
  • 68. Use Create Volume in the EC2 Console
  • 69. How AWS services integrate with AWS KMS 2-tiered key hierarchy using envelope encryption Unique data key encrypts customer data AWS KMS master keys encrypt data keys Benefits of envelope encryption: • Limits risk of a compromised data key • Better performance for encrypting large data • Easier to manage a small number of master keys than millions of data keys Master key(s) Data key 1 S3 object EBS volume Amazon Redshift cluster Data key 2 Data key 3 Data key 4 Custom application KMS
  • 70. Summary Use encryption if you need it Take snapshotsSelect the right instance for your workload Select the right volume for your workload
  • 71. Q&A