18
การประยุกตใช BtrFS สําหรับ Docker container 1

การประยุกต ใช BtrFSสําหรับ Dockercontainer · อ างอิงจาก SlideShare VMworld 2015: Containers without Compromise - Persistent

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: การประยุกต ใช BtrFSสําหรับ Dockercontainer · อ างอิงจาก SlideShare VMworld 2015: Containers without Compromise - Persistent

การประยุกตใช BtrFS สําหรับ Docker container1

Page 2: การประยุกต ใช BtrFSสําหรับ Dockercontainer · อ างอิงจาก SlideShare VMworld 2015: Containers without Compromise - Persistent

BtrFS+ Docker

Containerวิวัฒนาการ Container

2

Page 3: การประยุกต ใช BtrFSสําหรับ Dockercontainer · อ างอิงจาก SlideShare VMworld 2015: Containers without Compromise - Persistent

BtrFS+ Docker

Containerสถาปตยกรรม Docker Container

การออกแบบที่แตกตางจาก Virtual Machine ในรูปแบบ Bare Metal ดั้งเดิม

3

Page 4: การประยุกต ใช BtrFSสําหรับ Dockercontainer · อ างอิงจาก SlideShare VMworld 2015: Containers without Compromise - Persistent

BtrFS+ Docker

ContainerDocker container กับการใชงานหนวยบันทึก

อางอิงจาก SlideShare VMworld 2015: Containers without Compromise - Persistent Storage for Docker Containers with VMware

4

Page 5: การประยุกต ใช BtrFSสําหรับ Dockercontainer · อ างอิงจาก SlideShare VMworld 2015: Containers without Compromise - Persistent

BtrFS+ Docker

Containerหนวยบันทึกขอมูลของ Docker container

Docker container ผูพัฒนาไดนําเสนอการเช่ือมตอหนวยบันทึกขอมูลไว 3 ประเภทคือ Host-directory, Data-volume และ Data-container

5

DockerContainer

/local/storage/

DockerContainer

Volume

DockerContainer

Container

Page 6: การประยุกต ใช BtrFSสําหรับ Dockercontainer · อ างอิงจาก SlideShare VMworld 2015: Containers without Compromise - Persistent

BtrFS+ Docker

ContainerDocker container รวมกับ Persist External Storage • การใชหนวยเก็บขอมูลแบบ Host Directory ไดรับความนิยม

• คําสั่งตัวอยางในการทดสอบ คือ

docker run --name sandbox -v /home/apps:/usr/apps sandbox ls /usr/apps

6

Page 7: การประยุกต ใช BtrFSสําหรับ Dockercontainer · อ างอิงจาก SlideShare VMworld 2015: Containers without Compromise - Persistent

BtrFS+ Docker

ContainerBtrFS คืออะไร ?

• เปนระบบไฟลแบบ Copy on write (CoW) ที่เนนรองรับ fault tolerance, repair และการจัดการที่งาย

• ขอดี

– Extent based file system

– รองรับ snap shots

– รองรับการทํา Sub volumn

– รองรับการทํา compression

• ขอเสีย ส้ินเปลืองหนวยความจําในระหวางการทํางาน

7

Page 8: การประยุกต ใช BtrFSสําหรับ Dockercontainer · อ างอิงจาก SlideShare VMworld 2015: Containers without Compromise - Persistent

BtrFS+ Docker

Containerชนิดไฟล BtrFS File System

ความสามารถของ BtrFS ในการทํา compression จากเว็บไซต BtrFS

• ZLIB -- slower, higher compression ratio

• LZO -- faster compression and decompression than zlib, worse compression ratio

• ZSTD -- (since v4.14) compression comparable to zlib with higher compression/decompression speeds and different ratio levels

8

butter fuss

better F S

butter F S

b-tree F S

Page 9: การประยุกต ใช BtrFSสําหรับ Dockercontainer · อ างอิงจาก SlideShare VMworld 2015: Containers without Compromise - Persistent

BtrFS+ Docker

Containerการวัดประสิทธภิาพของ BtrFS เม่ือใชกับ Docker container

เลือกใชภาระงาน OLTP simple ดวย Sysbench แบบ Simple Query ที่มีเฉพาะคําสั่ง Select

9

Page 10: การประยุกต ใช BtrFSสําหรับ Dockercontainer · อ างอิงจาก SlideShare VMworld 2015: Containers without Compromise - Persistent

BtrFS+ Docker

Containerประสิทธิภาพของหนวยบันทึก Docker container

การบริการหนวยบันทึกของ Docker container ดวยภาระงานฐานขอมูลใหผลประสิทธิภาพใกลเคียงกัน

10

Host-Dir Volume Container Host-Dir Volume Container

2-CPU 4-CPU

32-Thread Aggregate 1,432.57 1,437.28 1,437.41 2,601.42 2,614.85 2,614.85

Response Time 22.34 22.26 22.25 12.30 12.23 12.23

02040

0400800

1,2001,6002,0002,4002,800

Tim

e (m

s)

Tran

sact

ions

per

sec

ond

Response Time

Page 11: การประยุกต ใช BtrFSสําหรับ Dockercontainer · อ างอิงจาก SlideShare VMworld 2015: Containers without Compromise - Persistent

BtrFS+ Docker

Containerโครงสรางในการวัดประสิทธิภาพ

• ทดสอบโดยการสรางเครื่องบริการเว็บ ดวย Docker container

• เลือกการบันทึกไฟลของเว็บไซตบนโครงสรางของระบบไฟล BtrFSทั้งแบบ uncompression และการ compression ดวยวิธี zlib และ lzo

11

Page 12: การประยุกต ใช BtrFSสําหรับ Dockercontainer · อ างอิงจาก SlideShare VMworld 2015: Containers without Compromise - Persistent

BtrFS+ Docker

Containerการวัดประสิทธิภาพการใหบริการ

• นําเว็บไซตตัวอยางจากหนาเว็บ freshdesignweb.com/ustora/ จํานวน 16 หนา เพ่ือใชสรางเปนภาระงาน (Workload)

• ใชโปรแกรม H2load แบบ multiple page เรียกเขาสูเว็บไซต

12

Page 13: การประยุกต ใช BtrFSสําหรับ Dockercontainer · อ างอิงจาก SlideShare VMworld 2015: Containers without Compromise - Persistent

BtrFS+ Docker

Containerขนาดพื้นที่เก็บขอมูลจริง

สําหรับปริมาณการรองขอหนาเว็บ พบวามีคาคงที่สําหรับ SSL-passthrough ซึ่ง SSL-offload ใหผลลัพธแตกตางตามจํานวนลูกขาย

13

92

78

71

108

0 20 40 60 80 100 120

BTRFS-NO

BTRFS-LZO

BTRFS-ZLIB

XFS

Physical size (MB)

Page 14: การประยุกต ใช BtrFSสําหรับ Dockercontainer · อ างอิงจาก SlideShare VMworld 2015: Containers without Compromise - Persistent

BtrFS+ Docker

Containerประสิทธิภาพการใหบรกิารเว็บและแบนดวิดธ (HTTP)

สําหรับเว็บที่ไมมีการเขารหัส พบวา LZO ใหประสิทธิภาพนอยที่สุด แตอาจไมใชคําตอบเพราะมีสวนของแคชของระบบเขามาเก่ียวของดวย

14

BTRFS-NO BTRFS-LZO BTRFS-ZLIB XFS

Transfer 106.72 106.72 106.57 106.89

Performance 1,044.08 1,004.37 1,050.33 1,088.48

-

20.00

40.00

60.00

80.00

100.00

120.00

140.00

160.00

180.00

200.00

800.00

850.00

900.00

950.00

1,000.00

1,050.00

1,100.00

1,150.00

Band

widt

h (M

B/S)

Perfo

rman

ce (R

eq/s

)

Page 15: การประยุกต ใช BtrFSสําหรับ Dockercontainer · อ างอิงจาก SlideShare VMworld 2015: Containers without Compromise - Persistent

BtrFS+ Docker

Containerประสิทธิภาพการใหบรกิารเว็บและแบนดวิดธ (HTTPS)

สําหรับเว็บไซตที่เขารหัสแบบ SSL ซึ่งมีการเขียน-อานมากข้ึน สงผลให LZO มีประสิทธิภาพที่สูงกวา Zlib โดยมีเวลาในการประมวลผลใกลเคียงกัน

15

BTRFS-NO BTRFS-LZO BTRFS-ZLIB XFS

Execution Time 1.22 1.22 1.24 1.17

Performance 296.15 295.32 276.50 287.43

-

0.25

0.50

0.75

1.00

1.25

1.50

1.75

2.00

2.25

2.50

2.75

3.00

240.00

250.00

260.00

270.00

280.00

290.00

300.00

Exec

utio

n tim

e (s

ec)

Perfo

rman

ce (R

eq/s

)

Page 16: การประยุกต ใช BtrFSสําหรับ Dockercontainer · อ างอิงจาก SlideShare VMworld 2015: Containers without Compromise - Persistent

BtrFS+ Docker

Containerบทสรุป

BtrFS

มีความสามารถในการลดพื้นที่จัดเก็บไดดีมากข้ึนและมากกวา XFS ระบบไฟลที่ใชใน Kernel รุน 3 เปนตนมา

BtrFS ของ LZO และ Zlib

จากหลักการทํางานของ LZO ซึ่งมีความเร็วในการบีบอัดขอมูลสูง พบวามีความเหมาะสมกับการบริการเว็บแบบ HTTPS มากกวาวิธีการบีบอัดขอมูลแบบอ่ืนๆ

16

Page 17: การประยุกต ใช BtrFSสําหรับ Dockercontainer · อ างอิงจาก SlideShare VMworld 2015: Containers without Compromise - Persistent

BtrFS+ Docker

Containerคําแนะนําการใช BtrFS รวมกับ Docker

• Page caching

– ไมมีสวนน้ี จึงไมเหมาะกับการนํามาใชกับระบบท่ีเปน PaaS

• Docker แนะนําใหใช SSD แทนการใช spinning disk เพ่ือเพ่ิมประสิทธิภาพในการเขียนขอมูล

• Balance Btrfs filesystems often ออกแบบใชรวมกับ Block device เพ่ือชวยใหจัดพ้ืนที่ของหนวยบันทึกในชวงเวลาที่ไมใชงาน

• Use volumes for write-heavy workloads เหมาะกับการทํานายการขอเขียนจํานวนมากๆ กรณีที่มีการใชขอมูลรวมกัน

17

Page 18: การประยุกต ใช BtrFSสําหรับ Dockercontainer · อ างอิงจาก SlideShare VMworld 2015: Containers without Compromise - Persistent

BtrFS+ Docker

Containerคําถาม/ขอเสนอแนะ

18