SlideShare a Scribd company logo
1 of 54
Download to read offline
SSD 제대로 알고 쓰자

신기빈 차장 / 성능엔지니어링lab
NAVER Labs
CONTENTS
1. 왜 SSD인가?
 
2. Cache Workload
 
3. SSD 특성 분석
 
4. Squall에 적용 결과
5. 결론
1. 왜 SSD인가?
1. 왜 SSD인가?
개인용 SSD 가격 변화
1. 왜 SSD인가?
SSHD : Solid State Hybrid Drive
1. 왜 SSD인가?
Hybrid Cache
2. Cache Workload
2. Cache Workload
Video 서비스에서 Arcus로 가는 3일치 요청 내용을 분석
2. Cache Workload
Cache 특성
2. Cache Workload
Cache 특성 : Zipf-like Distribution

전체 Access 횟수 N

순위

(Key 갯수)

번째 많이 요청된 항목의 요청수
2. Cache Workload
Cache 특성 : CDF

80th : 6.31%
90th : 25.1%

90th : 0.14%
95th : 0.9%
측정값
2. Cache Workload

결론
전체를 Memory에 Cache하지 않아도 대부분은 Memory
에서 Hit될 것이고 일부만 SSD를 access하게 될 것이다.
2. Cache Workload

QoS ( Quality of Service )

요청의 90%는 2ms내에 응답이 가지만
9%는 100ms가 걸리고 1%는 수초가 걸린다면?

Retry? 장애감지?
3. SSD 특성 분석
3. SSD 특성 분석

NAND Chip

Controller

DRAM
3. SSD 특성 분석

NAND Chip

Capacitor
3. SSD 특성 분석

http://www.computer.org/csdl/trans/tc/2011/01/ttc2011010080-abs.html
3. SSD 특성 분석

FLASH

Mapping
Table
7,1,4,9

변환

READ 1,2,3,4

Controller

DRAM
Cache
3. SSD 특성 분석

FLASH

Mapping
Table
변환

Write 1,2,3,4

기록

Controller

Cache
DRAM
Cache

5,6,7,8
(log struct)
3. SSD 특성 분석
Garbage Collection

사용중인 Page
지울 Page
빈 Page
3. SSD 특성 분석
일반적인 소비자에게 공개되는 SSD의 metric들

Seq. Read
MB/s

Seq. Write
MB/s

Rand. Read
IOPS

Rand. Write
IOPS

A

540

520

109K

90K

B

500

400

60K

11K

C

540

460

100K

86K

D

550

520

50K

80K

E

550

530

100K

95K
3. SSD 특성 분석
Benchmark Site?
4K Q64 Random Read, tom’s HARDWARE
3. SSD 특성 분석
SSD사용을 위한 Tip
1.  AHCI 켜기
2.  TRIM(discard) 켜기
3.  휴지통 사용안하기
4.  조각 모음 사용안하기
5.  Windows Search 사용안하기
6.  noatime 옵션 주기
7.  noop scheduler 사용.
3. SSD 특성 분석
SSD Benchmark Tool
3. SSD 특성 분석
Mapping Size
A제품.

latency (us)

5.2 Random Write IOPS

ncq
3. SSD 특성 분석
Mapping Size
A 제품

9. Alignment에 따른 성능 변화
3. SSD 특성 분석
Mapping Size

LBA

Phy. Addr.

0~7

356

8 ~ 15

13

24 ~ 31

517

1. Read LBA 8 ~ 15
2. Write LBA [8 ~ 11][12 ~ 15]

723

16 ~ 23

LBA [12 ~ 15] (2KB) Write 하면?

1 LBA = 1 sector = 512byte

LBA [12 ~ 19] (4KB) Write 하면?
1. Read LBA 8 ~ 15
2. Write LBA [8 ~ 11][12 ~ 15]
3. Read LBA 16 ~ 23
4. Write LBA [16 ~ 19][20 ~ 23]
3. SSD 특성 분석
Mapping Size : 결론

IO는 Mapping Size단위의 배수로 할 것.
Align을 맞출 것
3. SSD 특성 분석
Mapping Size : 확인해 봐야할 것

SSD의 Mapping Size
Disk Partition 시작위치
File System Block Size
3. SSD 특성 분석
Over Provisioning
A제품. (250GB)
Avg. Latency(us)

10.1 Avg. Latency

Written GB(*10)
3. SSD 특성 분석

Avg. Latency(us)

Over Provisioning

B제품. (480GB)
10.1 Avg. Latency

Written GB(*10)
3. SSD 특성 분석
Over Provisioning
16

Max Avg. Latency(ms)

14
12
10

SSD_A

8

SSD_B

6

SSD_C

4
2
0
100%

90%

80%

Disk Usage

Write Perf.

SSD_A

SSD_B

SSD_C

Seq.

520MB/s

400MB/s

460 MB/s

Rand.

90K IOPS

11K IOPS

86K IOPS

333 MB/s
85.3K IOPS

263 MB/s
67.3K IOPS

321 MB/s
82.2K IOPS

4K Rand.
NCQ=32
3. SSD 특성 분석
Over Provisioning
A 제품

B 제품
3. SSD 특성 분석

Avg. Latency(us)

Over Provisioning

D제품. (250GB)
10.1 Avg. Latency

Written GB(*10)
3. SSD 특성 분석
Endurance
18000

x 16.6

16000
14000

Written GB

12000
10000

Logical
A제품

8000

D제품

6000

x 4.9

4000
2000

x 3.2
x 1.6

x 1.9

x 1.7

0
80%

90%

100%
3. SSD 특성 분석
Hybrid Cache에서 원하는 제품

1.  Write보다 Read 성능이 뛰어날 것
2.  평균 Latency가 조금 높더라도 99.99th Latency가 낮을 것.
3.  GC로 인한 성능 저하가 적을 것.
3. SSD 특성 분석

5.888

85.3K

82.2K

67.3K
3.506

SSD_A
SSD_B
SSD_C

2.126

0.611

7:3 Mix

0.607

0.616

Read Only

Rand. Read 99.99th Latency (ms)

Rand. Read IOPS
4. Squall에 적용 결과
4. Squall에 적용 결과

Avg. Latency

빈도

HDD : 5.01 ms
SSD_B : 0.546 ms

응답 속도 (us)
누적확률

4. Squall에 적용 결과

응답 속도 (us)
4. Squall에 적용 결과
1

Resp. Time ( ms )

0.8

x 1.06

0.6

0.515

0.546

Avg.

0.4

0.2

0
0

DRAM

SSD_B

HDD
4. Squall에 적용 결과
10

x 5.27
9

8.981
8

Resp. Time ( ms )

7

6

Avg.

5

99.99th

4

3

2
1.703
1
0.515

0.546

0

0

0

DRAM

SSD_B

HDD
4. Squall에 적용 결과
30

x 867
25

Resp. Time ( ms )

1492
20

Avg.

15

99.99th
10
8.981

x 9.7
5

5.006
0.515

1.703

0.546

0

DRAM

SSD_B

HDD
4. Squall에 적용 결과
50

787.6

Resp. Time ( ms )

45
40
35
30

Avg.

25
20

99.99th

21.32

15
10
5

8.981

1.953

1.965

0.546

0

SSD_A

SSD_B

SSD_B

SSD_A

SSD_B

SSD_C

Rand. Read

109 / 91 K

60 / 90 K

100 / 91 K

Rand. Write

90 / 85 K

11 / 67 K

86 / 82 K
4. Squall에 적용 결과
Host 4K Block Read Latency

SSD_A SSD_B SSD_C
median

0.977

0.157

0.700

99th

5.2

3.47

3.4

99.99th

9.3

8.14

259

Latency ( ms )
4. Squall에 적용 결과
결론
잘 선택된 제품의 경우 DRAM을 이용한 것 보다
평균 속도는 비슷하지만
만개중에 한개는 정도는 6배정도,
10만개중에 한개는 7배정도 느리다.
용량은 수십 ~ 수백배 늘릴수 있다.
5. 결론
5. 결론

1.  겉으로 표기된 성능을 믿지 말자.
2.  벤치마크 결과도 성능의 일부만을 보여줄 뿐이다.
3.  서버용으로 사용한다면 GC가 일어날 때 성능이 중요하다.
5. 결론

중요한 성능 지표.
Max Read/Write Bandwidth
4K Rand. Read/Write IOPS
5. 결론

중요한 성능 지표.
Max Read/Write Bandwidth
4K Rand. Read/Write IOPS

Mapping Size
GC가 일어날때 IO 성능 ( IOPS, Latency, Bandwidth )
Mixed Pattern의 IO 성능
자신의 Workload를 정확하게 아는 것.
QA

More Related Content

What's hot

Redis Overview
Redis OverviewRedis Overview
Redis Overview
kalzas
 
Ceph Day Seoul - Bring Ceph to Enterprise
Ceph Day Seoul - Bring Ceph to EnterpriseCeph Day Seoul - Bring Ceph to Enterprise
Ceph Day Seoul - Bring Ceph to Enterprise
Ceph Community
 
Redis basicandroadmap
Redis basicandroadmapRedis basicandroadmap
Redis basicandroadmap
DaeMyung Kang
 
Cache cloud 최종
Cache cloud 최종Cache cloud 최종
Cache cloud 최종
nexusz99
 
카산드라를 설치해서 테스트 해보자 with virtualbox
카산드라를 설치해서 테스트 해보자 with virtualbox카산드라를 설치해서 테스트 해보자 with virtualbox
카산드라를 설치해서 테스트 해보자 with virtualbox
떠리 이
 
Mongodb 특징 분석
Mongodb 특징 분석Mongodb 특징 분석
Mongodb 특징 분석
Daeyong Shin
 

What's hot (20)

[OpenInfra Days Korea 2018] Day 2 - CEPH 운영자를 위한 Object Storage Performance T...
[OpenInfra Days Korea 2018] Day 2 - CEPH 운영자를 위한 Object Storage Performance T...[OpenInfra Days Korea 2018] Day 2 - CEPH 운영자를 위한 Object Storage Performance T...
[OpenInfra Days Korea 2018] Day 2 - CEPH 운영자를 위한 Object Storage Performance T...
 
Quic을 이용한 네트워크 성능 개선
 Quic을 이용한 네트워크 성능 개선 Quic을 이용한 네트워크 성능 개선
Quic을 이용한 네트워크 성능 개선
 
Pivot3 overview
Pivot3 overviewPivot3 overview
Pivot3 overview
 
Pivot3 tech overview_201704
Pivot3 tech overview_201704Pivot3 tech overview_201704
Pivot3 tech overview_201704
 
Redis Overview
Redis OverviewRedis Overview
Redis Overview
 
NexGen overview_201705
NexGen overview_201705NexGen overview_201705
NexGen overview_201705
 
[135] 오픈소스 데이터베이스, 은행 서비스에 첫발을 내밀다.
[135] 오픈소스 데이터베이스, 은행 서비스에 첫발을 내밀다.[135] 오픈소스 데이터베이스, 은행 서비스에 첫발을 내밀다.
[135] 오픈소스 데이터베이스, 은행 서비스에 첫발을 내밀다.
 
Ceph Day Seoul - Bring Ceph to Enterprise
Ceph Day Seoul - Bring Ceph to EnterpriseCeph Day Seoul - Bring Ceph to Enterprise
Ceph Day Seoul - Bring Ceph to Enterprise
 
Redis basicandroadmap
Redis basicandroadmapRedis basicandroadmap
Redis basicandroadmap
 
Cache cloud 최종
Cache cloud 최종Cache cloud 최종
Cache cloud 최종
 
[112]clova platform 인공지능을 엮는 기술
[112]clova platform 인공지능을 엮는 기술[112]clova platform 인공지능을 엮는 기술
[112]clova platform 인공지능을 엮는 기술
 
주키퍼
주키퍼주키퍼
주키퍼
 
User Story :: Cloudike with KT UCloud Biz
User Story :: Cloudike with KT UCloud BizUser Story :: Cloudike with KT UCloud Biz
User Story :: Cloudike with KT UCloud Biz
 
AWS EC2 AMI seminar(KELP 2011)
AWS EC2 AMI seminar(KELP 2011)AWS EC2 AMI seminar(KELP 2011)
AWS EC2 AMI seminar(KELP 2011)
 
[231]운영체제 수준에서의 데이터베이스 성능 분석과 최적화
[231]운영체제 수준에서의 데이터베이스 성능 분석과 최적화[231]운영체제 수준에서의 데이터베이스 성능 분석과 최적화
[231]운영체제 수준에서의 데이터베이스 성능 분석과 최적화
 
카산드라를 설치해서 테스트 해보자 with virtualbox
카산드라를 설치해서 테스트 해보자 with virtualbox카산드라를 설치해서 테스트 해보자 with virtualbox
카산드라를 설치해서 테스트 해보자 with virtualbox
 
(OCI 탐험일지) cloud shell
(OCI 탐험일지) cloud shell(OCI 탐험일지) cloud shell
(OCI 탐험일지) cloud shell
 
Mongodb 특징 분석
Mongodb 특징 분석Mongodb 특징 분석
Mongodb 특징 분석
 
3.[d2 오픈세미나]분산시스템 개발 및 교훈 n base arc
3.[d2 오픈세미나]분산시스템 개발 및 교훈 n base arc3.[d2 오픈세미나]분산시스템 개발 및 교훈 n base arc
3.[d2 오픈세미나]분산시스템 개발 및 교훈 n base arc
 
[스마트스터디]모바일 애플리케이션 서비스에서의 로그 수집과 분석
[스마트스터디]모바일 애플리케이션 서비스에서의 로그 수집과 분석[스마트스터디]모바일 애플리케이션 서비스에서의 로그 수집과 분석
[스마트스터디]모바일 애플리케이션 서비스에서의 로그 수집과 분석
 

Viewers also liked

XML, NoSQL, 빅데이터, 클라우드로 옮겨가는 시장 상황 속, 데이터모델링 여전히 중요한가
XML, NoSQL, 빅데이터, 클라우드로 옮겨가는 시장 상황 속, 데이터모델링 여전히 중요한가XML, NoSQL, 빅데이터, 클라우드로 옮겨가는 시장 상황 속, 데이터모델링 여전히 중요한가
XML, NoSQL, 빅데이터, 클라우드로 옮겨가는 시장 상황 속, 데이터모델링 여전히 중요한가
Devgear
 
Ssd 성능시험 cubrid mysql
Ssd 성능시험 cubrid mysqlSsd 성능시험 cubrid mysql
Ssd 성능시험 cubrid mysql
swkim79
 

Viewers also liked (20)

SSD 개념 및 활용_Wh oracle
SSD 개념 및 활용_Wh oracleSSD 개념 및 활용_Wh oracle
SSD 개념 및 활용_Wh oracle
 
Karen Lopez 10 Physical Data Modeling Blunders
Karen Lopez 10 Physical Data Modeling BlundersKaren Lopez 10 Physical Data Modeling Blunders
Karen Lopez 10 Physical Data Modeling Blunders
 
Scalable
ScalableScalable
Scalable
 
Aurora Project
Aurora ProjectAurora Project
Aurora Project
 
BIS06 Physical Database Models
BIS06 Physical Database ModelsBIS06 Physical Database Models
BIS06 Physical Database Models
 
XML, NoSQL, 빅데이터, 클라우드로 옮겨가는 시장 상황 속, 데이터모델링 여전히 중요한가
XML, NoSQL, 빅데이터, 클라우드로 옮겨가는 시장 상황 속, 데이터모델링 여전히 중요한가XML, NoSQL, 빅데이터, 클라우드로 옮겨가는 시장 상황 속, 데이터모델링 여전히 중요한가
XML, NoSQL, 빅데이터, 클라우드로 옮겨가는 시장 상황 속, 데이터모델링 여전히 중요한가
 
[2 d1] elasticsearch 성능 최적화
[2 d1] elasticsearch 성능 최적화[2 d1] elasticsearch 성능 최적화
[2 d1] elasticsearch 성능 최적화
 
데이터베이스 모델링
데이터베이스 모델링데이터베이스 모델링
데이터베이스 모델링
 
Single Shot MultiBox Detector와 Recurrent Instance Segmentation
Single Shot MultiBox Detector와 Recurrent Instance SegmentationSingle Shot MultiBox Detector와 Recurrent Instance Segmentation
Single Shot MultiBox Detector와 Recurrent Instance Segmentation
 
Db 진단 및 튜닝 보고 (example)
Db 진단 및 튜닝 보고 (example)Db 진단 및 튜닝 보고 (example)
Db 진단 및 튜닝 보고 (example)
 
Ssd 성능시험 cubrid mysql
Ssd 성능시험 cubrid mysqlSsd 성능시험 cubrid mysql
Ssd 성능시험 cubrid mysql
 
컴퓨터 네트워크와 인터넷
컴퓨터 네트워크와 인터넷컴퓨터 네트워크와 인터넷
컴퓨터 네트워크와 인터넷
 
09. Memory, Storage (RAM, Cache, HDD, ODD, SSD, Flashdrives)
09. Memory, Storage (RAM, Cache, HDD, ODD, SSD, Flashdrives)09. Memory, Storage (RAM, Cache, HDD, ODD, SSD, Flashdrives)
09. Memory, Storage (RAM, Cache, HDD, ODD, SSD, Flashdrives)
 
인공지능, 기계학습 그리고 딥러닝
인공지능, 기계학습 그리고 딥러닝인공지능, 기계학습 그리고 딥러닝
인공지능, 기계학습 그리고 딥러닝
 
Data models
Data modelsData models
Data models
 
[오픈소스컨설팅]Day #3 MySQL Monitoring, Trouble Shooting
[오픈소스컨설팅]Day #3 MySQL Monitoring, Trouble Shooting[오픈소스컨설팅]Day #3 MySQL Monitoring, Trouble Shooting
[오픈소스컨설팅]Day #3 MySQL Monitoring, Trouble Shooting
 
Data Modeling PPT
Data Modeling PPTData Modeling PPT
Data Modeling PPT
 
SSD: Single Shot MultiBox Detector (ECCV2016)
SSD: Single Shot MultiBox Detector (ECCV2016)SSD: Single Shot MultiBox Detector (ECCV2016)
SSD: Single Shot MultiBox Detector (ECCV2016)
 
SSD Deployment Strategies for MySQL
SSD Deployment Strategies for MySQLSSD Deployment Strategies for MySQL
SSD Deployment Strategies for MySQL
 
SSD: Single Shot MultiBox Detector (UPC Reading Group)
SSD: Single Shot MultiBox Detector (UPC Reading Group)SSD: Single Shot MultiBox Detector (UPC Reading Group)
SSD: Single Shot MultiBox Detector (UPC Reading Group)
 

Similar to 246 deview 2013 신기빈

[OpenStack Days Korea 2016] Track3 - 방송제작용 UHD 스트로지 구성 및 테스트
[OpenStack Days Korea 2016] Track3 - 방송제작용 UHD 스트로지 구성 및 테스트[OpenStack Days Korea 2016] Track3 - 방송제작용 UHD 스트로지 구성 및 테스트
[OpenStack Days Korea 2016] Track3 - 방송제작용 UHD 스트로지 구성 및 테스트
OpenStack Korea Community
 
AWS CLOUD 2018- Amazon Aurora  신규 서비스 알아보기 (최유정 솔루션즈 아키텍트)
AWS CLOUD 2018- Amazon Aurora  신규 서비스 알아보기 (최유정 솔루션즈 아키텍트)AWS CLOUD 2018- Amazon Aurora  신규 서비스 알아보기 (최유정 솔루션즈 아키텍트)
AWS CLOUD 2018- Amazon Aurora  신규 서비스 알아보기 (최유정 솔루션즈 아키텍트)
Amazon Web Services Korea
 
Talk IT_ Oracle_최재규_110823
Talk IT_ Oracle_최재규_110823Talk IT_ Oracle_최재규_110823
Talk IT_ Oracle_최재규_110823
Cana Ko
 

Similar to 246 deview 2013 신기빈 (20)

[OpenStack Days Korea 2016] Track3 - 방송제작용 UHD 스트로지 구성 및 테스트
[OpenStack Days Korea 2016] Track3 - 방송제작용 UHD 스트로지 구성 및 테스트[OpenStack Days Korea 2016] Track3 - 방송제작용 UHD 스트로지 구성 및 테스트
[OpenStack Days Korea 2016] Track3 - 방송제작용 UHD 스트로지 구성 및 테스트
 
AWS 환경에서 MySQL BMT
AWS 환경에서 MySQL BMTAWS 환경에서 MySQL BMT
AWS 환경에서 MySQL BMT
 
[215]네이버콘텐츠통계서비스소개 김기영
[215]네이버콘텐츠통계서비스소개 김기영[215]네이버콘텐츠통계서비스소개 김기영
[215]네이버콘텐츠통계서비스소개 김기영
 
AWS 6월 웨비나 | AWS에서 MS SQL 서버 운영하기 (김민성 솔루션즈아키텍트)
AWS 6월 웨비나 | AWS에서 MS SQL 서버 운영하기 (김민성 솔루션즈아키텍트)AWS 6월 웨비나 | AWS에서 MS SQL 서버 운영하기 (김민성 솔루션즈아키텍트)
AWS 6월 웨비나 | AWS에서 MS SQL 서버 운영하기 (김민성 솔루션즈아키텍트)
 
Zero-risk 엔터프라이즈 클라우드 스토리지 - 조순현 부장, Zadara :: AWS Summit Seoul 2019
Zero-risk 엔터프라이즈 클라우드 스토리지 - 조순현 부장, Zadara :: AWS Summit Seoul 2019Zero-risk 엔터프라이즈 클라우드 스토리지 - 조순현 부장, Zadara :: AWS Summit Seoul 2019
Zero-risk 엔터프라이즈 클라우드 스토리지 - 조순현 부장, Zadara :: AWS Summit Seoul 2019
 
넥슨 글로벌 플랫폼 구축 이야기 : DB Migration case study (임현수 플랫폼인프라실 Technical Manager, 넥...
넥슨 글로벌 플랫폼 구축 이야기 : DB Migration case study (임현수 플랫폼인프라실 Technical Manager, 넥...넥슨 글로벌 플랫폼 구축 이야기 : DB Migration case study (임현수 플랫폼인프라실 Technical Manager, 넥...
넥슨 글로벌 플랫폼 구축 이야기 : DB Migration case study (임현수 플랫폼인프라실 Technical Manager, 넥...
 
관계형 데이터베이스의 새로운 패러다임 Amazon Aurora :: 김상필 :: AWS Summit Seoul 2016
관계형 데이터베이스의 새로운 패러다임 Amazon Aurora :: 김상필 :: AWS Summit Seoul 2016관계형 데이터베이스의 새로운 패러다임 Amazon Aurora :: 김상필 :: AWS Summit Seoul 2016
관계형 데이터베이스의 새로운 패러다임 Amazon Aurora :: 김상필 :: AWS Summit Seoul 2016
 
광안 1반 2팀 엠퀴즈 최종 발표 자료.pptx
광안 1반 2팀 엠퀴즈 최종 발표 자료.pptx광안 1반 2팀 엠퀴즈 최종 발표 자료.pptx
광안 1반 2팀 엠퀴즈 최종 발표 자료.pptx
 
DynamoDB의 안과밖 - 정민영 (비트패킹 컴퍼니)
DynamoDB의 안과밖 - 정민영 (비트패킹 컴퍼니)DynamoDB의 안과밖 - 정민영 (비트패킹 컴퍼니)
DynamoDB의 안과밖 - 정민영 (비트패킹 컴퍼니)
 
AWS CLOUD 2018- Amazon Aurora  신규 서비스 알아보기 (최유정 솔루션즈 아키텍트)
AWS CLOUD 2018- Amazon Aurora  신규 서비스 알아보기 (최유정 솔루션즈 아키텍트)AWS CLOUD 2018- Amazon Aurora  신규 서비스 알아보기 (최유정 솔루션즈 아키텍트)
AWS CLOUD 2018- Amazon Aurora  신규 서비스 알아보기 (최유정 솔루션즈 아키텍트)
 
Talk IT_ Oracle_최재규_110823
Talk IT_ Oracle_최재규_110823Talk IT_ Oracle_최재규_110823
Talk IT_ Oracle_최재규_110823
 
steeleye Replication
steeleye Replication steeleye Replication
steeleye Replication
 
cdit hci zerto '소통하는 세미나' 소개자료(201705)
cdit hci zerto '소통하는 세미나' 소개자료(201705)cdit hci zerto '소통하는 세미나' 소개자료(201705)
cdit hci zerto '소통하는 세미나' 소개자료(201705)
 
나에게 맞는 AWS 데이터베이스 서비스 선택하기 :: 양승도 :: AWS Summit Seoul 2016
나에게 맞는 AWS 데이터베이스 서비스 선택하기 :: 양승도 :: AWS Summit Seoul 2016나에게 맞는 AWS 데이터베이스 서비스 선택하기 :: 양승도 :: AWS Summit Seoul 2016
나에게 맞는 AWS 데이터베이스 서비스 선택하기 :: 양승도 :: AWS Summit Seoul 2016
 
[AWS Migration Workshop] SQL Server Performance on AWS
[AWS Migration Workshop]  SQL Server Performance on AWS[AWS Migration Workshop]  SQL Server Performance on AWS
[AWS Migration Workshop] SQL Server Performance on AWS
 
20140806 AWS Meister BlackBelt - Amazon Redshift (Korean)
20140806 AWS Meister BlackBelt - Amazon Redshift (Korean)20140806 AWS Meister BlackBelt - Amazon Redshift (Korean)
20140806 AWS Meister BlackBelt - Amazon Redshift (Korean)
 
The MongoDB Strikes Back / MongoDB 의 역습
The MongoDB Strikes Back / MongoDB 의 역습The MongoDB Strikes Back / MongoDB 의 역습
The MongoDB Strikes Back / MongoDB 의 역습
 
AWS 상에서 게임 서비스 최적화 방안 :: 박선용 :: AWS Summit Seoul 2016
AWS 상에서 게임 서비스 최적화 방안 :: 박선용 :: AWS Summit Seoul 2016AWS 상에서 게임 서비스 최적화 방안 :: 박선용 :: AWS Summit Seoul 2016
AWS 상에서 게임 서비스 최적화 방안 :: 박선용 :: AWS Summit Seoul 2016
 
Aws로 ci하기 안기욱
Aws로 ci하기 안기욱Aws로 ci하기 안기욱
Aws로 ci하기 안기욱
 
Pgday bdr gt1000
Pgday bdr gt1000Pgday bdr gt1000
Pgday bdr gt1000
 

More from NAVER D2

More from NAVER D2 (20)

[211] 인공지능이 인공지능 챗봇을 만든다
[211] 인공지능이 인공지능 챗봇을 만든다[211] 인공지능이 인공지능 챗봇을 만든다
[211] 인공지능이 인공지능 챗봇을 만든다
 
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
 
[215] Druid로 쉽고 빠르게 데이터 분석하기
[215] Druid로 쉽고 빠르게 데이터 분석하기[215] Druid로 쉽고 빠르게 데이터 분석하기
[215] Druid로 쉽고 빠르게 데이터 분석하기
 
[245]Papago Internals: 모델분석과 응용기술 개발
[245]Papago Internals: 모델분석과 응용기술 개발[245]Papago Internals: 모델분석과 응용기술 개발
[245]Papago Internals: 모델분석과 응용기술 개발
 
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
 
[235]Wikipedia-scale Q&A
[235]Wikipedia-scale Q&A[235]Wikipedia-scale Q&A
[235]Wikipedia-scale Q&A
 
[244]로봇이 현실 세계에 대해 학습하도록 만들기
[244]로봇이 현실 세계에 대해 학습하도록 만들기[244]로봇이 현실 세계에 대해 학습하도록 만들기
[244]로봇이 현실 세계에 대해 학습하도록 만들기
 
[243] Deep Learning to help student’s Deep Learning
[243] Deep Learning to help student’s Deep Learning[243] Deep Learning to help student’s Deep Learning
[243] Deep Learning to help student’s Deep Learning
 
[234]Fast & Accurate Data Annotation Pipeline for AI applications
[234]Fast & Accurate Data Annotation Pipeline for AI applications[234]Fast & Accurate Data Annotation Pipeline for AI applications
[234]Fast & Accurate Data Annotation Pipeline for AI applications
 
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load BalancingOld version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
 
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
 
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
 
[224]네이버 검색과 개인화
[224]네이버 검색과 개인화[224]네이버 검색과 개인화
[224]네이버 검색과 개인화
 
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
 
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
 
[213] Fashion Visual Search
[213] Fashion Visual Search[213] Fashion Visual Search
[213] Fashion Visual Search
 
[232] TensorRT를 활용한 딥러닝 Inference 최적화
[232] TensorRT를 활용한 딥러닝 Inference 최적화[232] TensorRT를 활용한 딥러닝 Inference 최적화
[232] TensorRT를 활용한 딥러닝 Inference 최적화
 
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
 
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
 
[223]기계독해 QA: 검색인가, NLP인가?
[223]기계독해 QA: 검색인가, NLP인가?[223]기계독해 QA: 검색인가, NLP인가?
[223]기계독해 QA: 검색인가, NLP인가?
 

246 deview 2013 신기빈

  • 1. SSD 제대로 알고 쓰자 신기빈 차장 / 성능엔지니어링lab NAVER Labs
  • 5.   4. Squall에 적용 결과 5. 결론
  • 7. 1. 왜 SSD인가? 개인용 SSD 가격 변화
  • 8. 1. 왜 SSD인가? SSHD : Solid State Hybrid Drive
  • 11. 2. Cache Workload Video 서비스에서 Arcus로 가는 3일치 요청 내용을 분석
  • 13. 2. Cache Workload Cache 특성 : Zipf-like Distribution 전체 Access 횟수 N 순위 (Key 갯수) 번째 많이 요청된 항목의 요청수
  • 14. 2. Cache Workload Cache 특성 : CDF 80th : 6.31% 90th : 25.1% 90th : 0.14% 95th : 0.9% 측정값
  • 15. 2. Cache Workload 결론 전체를 Memory에 Cache하지 않아도 대부분은 Memory 에서 Hit될 것이고 일부만 SSD를 access하게 될 것이다.
  • 16. 2. Cache Workload QoS ( Quality of Service ) 요청의 90%는 2ms내에 응답이 가지만 9%는 100ms가 걸리고 1%는 수초가 걸린다면? Retry? 장애감지?
  • 17. 3. SSD 특성 분석
  • 18. 3. SSD 특성 분석 NAND Chip Controller DRAM
  • 19. 3. SSD 특성 분석 NAND Chip Capacitor
  • 20. 3. SSD 특성 분석 http://www.computer.org/csdl/trans/tc/2011/01/ttc2011010080-abs.html
  • 21. 3. SSD 특성 분석 FLASH Mapping Table 7,1,4,9 변환 READ 1,2,3,4 Controller DRAM Cache
  • 22. 3. SSD 특성 분석 FLASH Mapping Table 변환 Write 1,2,3,4 기록 Controller Cache DRAM Cache 5,6,7,8 (log struct)
  • 23. 3. SSD 특성 분석 Garbage Collection 사용중인 Page 지울 Page 빈 Page
  • 24. 3. SSD 특성 분석 일반적인 소비자에게 공개되는 SSD의 metric들 Seq. Read MB/s Seq. Write MB/s Rand. Read IOPS Rand. Write IOPS A 540 520 109K 90K B 500 400 60K 11K C 540 460 100K 86K D 550 520 50K 80K E 550 530 100K 95K
  • 25. 3. SSD 특성 분석 Benchmark Site? 4K Q64 Random Read, tom’s HARDWARE
  • 26. 3. SSD 특성 분석 SSD사용을 위한 Tip 1.  AHCI 켜기 2.  TRIM(discard) 켜기 3.  휴지통 사용안하기 4.  조각 모음 사용안하기 5.  Windows Search 사용안하기 6.  noatime 옵션 주기 7.  noop scheduler 사용.
  • 27. 3. SSD 특성 분석 SSD Benchmark Tool
  • 28. 3. SSD 특성 분석 Mapping Size A제품. latency (us) 5.2 Random Write IOPS ncq
  • 29. 3. SSD 특성 분석 Mapping Size A 제품 9. Alignment에 따른 성능 변화
  • 30. 3. SSD 특성 분석 Mapping Size LBA Phy. Addr. 0~7 356 8 ~ 15 13 24 ~ 31 517 1. Read LBA 8 ~ 15 2. Write LBA [8 ~ 11][12 ~ 15] 723 16 ~ 23 LBA [12 ~ 15] (2KB) Write 하면? 1 LBA = 1 sector = 512byte LBA [12 ~ 19] (4KB) Write 하면? 1. Read LBA 8 ~ 15 2. Write LBA [8 ~ 11][12 ~ 15] 3. Read LBA 16 ~ 23 4. Write LBA [16 ~ 19][20 ~ 23]
  • 31. 3. SSD 특성 분석 Mapping Size : 결론 IO는 Mapping Size단위의 배수로 할 것. Align을 맞출 것
  • 32. 3. SSD 특성 분석 Mapping Size : 확인해 봐야할 것 SSD의 Mapping Size Disk Partition 시작위치 File System Block Size
  • 33. 3. SSD 특성 분석 Over Provisioning A제품. (250GB) Avg. Latency(us) 10.1 Avg. Latency Written GB(*10)
  • 34. 3. SSD 특성 분석 Avg. Latency(us) Over Provisioning B제품. (480GB) 10.1 Avg. Latency Written GB(*10)
  • 35. 3. SSD 특성 분석 Over Provisioning 16 Max Avg. Latency(ms) 14 12 10 SSD_A 8 SSD_B 6 SSD_C 4 2 0 100% 90% 80% Disk Usage Write Perf. SSD_A SSD_B SSD_C Seq. 520MB/s 400MB/s 460 MB/s Rand. 90K IOPS 11K IOPS 86K IOPS 333 MB/s 85.3K IOPS 263 MB/s 67.3K IOPS 321 MB/s 82.2K IOPS 4K Rand. NCQ=32
  • 36. 3. SSD 특성 분석 Over Provisioning A 제품 B 제품
  • 37. 3. SSD 특성 분석 Avg. Latency(us) Over Provisioning D제품. (250GB) 10.1 Avg. Latency Written GB(*10)
  • 38. 3. SSD 특성 분석 Endurance 18000 x 16.6 16000 14000 Written GB 12000 10000 Logical A제품 8000 D제품 6000 x 4.9 4000 2000 x 3.2 x 1.6 x 1.9 x 1.7 0 80% 90% 100%
  • 39. 3. SSD 특성 분석 Hybrid Cache에서 원하는 제품 1.  Write보다 Read 성능이 뛰어날 것 2.  평균 Latency가 조금 높더라도 99.99th Latency가 낮을 것. 3.  GC로 인한 성능 저하가 적을 것.
  • 40. 3. SSD 특성 분석 5.888 85.3K 82.2K 67.3K 3.506 SSD_A SSD_B SSD_C 2.126 0.611 7:3 Mix 0.607 0.616 Read Only Rand. Read 99.99th Latency (ms) Rand. Read IOPS
  • 42. 4. Squall에 적용 결과 Avg. Latency 빈도 HDD : 5.01 ms SSD_B : 0.546 ms 응답 속도 (us)
  • 43. 누적확률 4. Squall에 적용 결과 응답 속도 (us)
  • 44. 4. Squall에 적용 결과 1 Resp. Time ( ms ) 0.8 x 1.06 0.6 0.515 0.546 Avg. 0.4 0.2 0 0 DRAM SSD_B HDD
  • 45. 4. Squall에 적용 결과 10 x 5.27 9 8.981 8 Resp. Time ( ms ) 7 6 Avg. 5 99.99th 4 3 2 1.703 1 0.515 0.546 0 0 0 DRAM SSD_B HDD
  • 46. 4. Squall에 적용 결과 30 x 867 25 Resp. Time ( ms ) 1492 20 Avg. 15 99.99th 10 8.981 x 9.7 5 5.006 0.515 1.703 0.546 0 DRAM SSD_B HDD
  • 47. 4. Squall에 적용 결과 50 787.6 Resp. Time ( ms ) 45 40 35 30 Avg. 25 20 99.99th 21.32 15 10 5 8.981 1.953 1.965 0.546 0 SSD_A SSD_B SSD_B SSD_A SSD_B SSD_C Rand. Read 109 / 91 K 60 / 90 K 100 / 91 K Rand. Write 90 / 85 K 11 / 67 K 86 / 82 K
  • 48. 4. Squall에 적용 결과 Host 4K Block Read Latency SSD_A SSD_B SSD_C median 0.977 0.157 0.700 99th 5.2 3.47 3.4 99.99th 9.3 8.14 259 Latency ( ms )
  • 49. 4. Squall에 적용 결과 결론 잘 선택된 제품의 경우 DRAM을 이용한 것 보다 평균 속도는 비슷하지만 만개중에 한개는 정도는 6배정도, 10만개중에 한개는 7배정도 느리다. 용량은 수십 ~ 수백배 늘릴수 있다.
  • 51. 5. 결론 1.  겉으로 표기된 성능을 믿지 말자. 2.  벤치마크 결과도 성능의 일부만을 보여줄 뿐이다. 3.  서버용으로 사용한다면 GC가 일어날 때 성능이 중요하다.
  • 52. 5. 결론 중요한 성능 지표. Max Read/Write Bandwidth 4K Rand. Read/Write IOPS
  • 53. 5. 결론 중요한 성능 지표. Max Read/Write Bandwidth 4K Rand. Read/Write IOPS Mapping Size GC가 일어날때 IO 성능 ( IOPS, Latency, Bandwidth ) Mixed Pattern의 IO 성능 자신의 Workload를 정확하게 아는 것.
  • 54. QA
  • 56. Data Sheet 1 : Squall 응답 시간 및 처리량 DRAM HDD SSD_B Avg. 0.515 ms 5.006 ms 0.546 ms Median 0.488 ms 0.237 ms 0.387 ms 99th 1.128 ms 148.6 ms 3.351 ms 99.9th 1.424 ms 778.6 ms 5.196 ms 99.99th 1.703 ms 1492 ms 8.981 ms 99.999th 2.104 ms 2199 ms 13.22 ms Max 204.2 ms 3063 ms 204.9 ms 84K rps 13K rps 68K rps 처리량
  • 57. Data Sheet 1 : Squall 응답 시간 및 처리량 SSD_A SSD_B SSD_C Random Read 109 / 91 K 60 / 90 K 100 / 91 K Random Write 90 / 85 K 11 / 67 K 86 / 82 K Avg. 1.953 ms 0.547 ms 1.965 ms Median 1.530 ms 0.387 ms 0.753 ms 99th 8.402 ms 3.351 ms 7.037 ms 99.9th 12.56 ms 5.196 ms 281.8 ms 99.99th 21.32 ms 8.981 ms 787.6 ms 99.999th 28.05 ms 13.22 ms 1317 ms Max 203.5 ms 204.9 ms 1677 ms 22K rps 68K rps 26K rps 처리량