VMware VIP パートナー プログラムVMware パートナー リスト Partner Day / VMworld への招待 セミナー ツール キット アカウント管理 ビジネス計画
การประยุกต ใช BtrFSสําหรับ Dockercontainer · อ...
Transcript of การประยุกต ใช BtrFSสําหรับ Dockercontainer · อ...
การประยุกตใช BtrFS สําหรับ Docker container1
BtrFS+ Docker
Containerวิวัฒนาการ Container
2
BtrFS+ Docker
Containerสถาปตยกรรม Docker Container
การออกแบบที่แตกตางจาก Virtual Machine ในรูปแบบ Bare Metal ดั้งเดิม
3
BtrFS+ Docker
ContainerDocker container กับการใชงานหนวยบันทึก
อางอิงจาก SlideShare VMworld 2015: Containers without Compromise - Persistent Storage for Docker Containers with VMware
4
BtrFS+ Docker
Containerหนวยบันทึกขอมูลของ Docker container
Docker container ผูพัฒนาไดนําเสนอการเช่ือมตอหนวยบันทึกขอมูลไว 3 ประเภทคือ Host-directory, Data-volume และ Data-container
5
DockerContainer
/local/storage/
DockerContainer
Volume
DockerContainer
Container
BtrFS+ Docker
ContainerDocker container รวมกับ Persist External Storage • การใชหนวยเก็บขอมูลแบบ Host Directory ไดรับความนิยม
• คําสั่งตัวอยางในการทดสอบ คือ
docker run --name sandbox -v /home/apps:/usr/apps sandbox ls /usr/apps
6
BtrFS+ Docker
ContainerBtrFS คืออะไร ?
• เปนระบบไฟลแบบ Copy on write (CoW) ที่เนนรองรับ fault tolerance, repair และการจัดการที่งาย
• ขอดี
– Extent based file system
– รองรับ snap shots
– รองรับการทํา Sub volumn
– รองรับการทํา compression
• ขอเสีย ส้ินเปลืองหนวยความจําในระหวางการทํางาน
7
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
BtrFS+ Docker
Containerการวัดประสิทธภิาพของ BtrFS เม่ือใชกับ Docker container
เลือกใชภาระงาน OLTP simple ดวย Sysbench แบบ Simple Query ที่มีเฉพาะคําสั่ง Select
9
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
BtrFS+ Docker
Containerโครงสรางในการวัดประสิทธิภาพ
• ทดสอบโดยการสรางเครื่องบริการเว็บ ดวย Docker container
• เลือกการบันทึกไฟลของเว็บไซตบนโครงสรางของระบบไฟล BtrFSทั้งแบบ uncompression และการ compression ดวยวิธี zlib และ lzo
11
BtrFS+ Docker
Containerการวัดประสิทธิภาพการใหบริการ
• นําเว็บไซตตัวอยางจากหนาเว็บ freshdesignweb.com/ustora/ จํานวน 16 หนา เพ่ือใชสรางเปนภาระงาน (Workload)
• ใชโปรแกรม H2load แบบ multiple page เรียกเขาสูเว็บไซต
12
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)
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
)
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
)
BtrFS+ Docker
Containerบทสรุป
BtrFS
มีความสามารถในการลดพื้นที่จัดเก็บไดดีมากข้ึนและมากกวา XFS ระบบไฟลที่ใชใน Kernel รุน 3 เปนตนมา
BtrFS ของ LZO และ Zlib
จากหลักการทํางานของ LZO ซึ่งมีความเร็วในการบีบอัดขอมูลสูง พบวามีความเหมาะสมกับการบริการเว็บแบบ HTTPS มากกวาวิธีการบีบอัดขอมูลแบบอ่ืนๆ
16
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
BtrFS+ Docker
Containerคําถาม/ขอเสนอแนะ
18