Ceph ชั้นแคชทำงานอย่างไรบ้าง?
บทนำ:
ในโพสต์นี้ เราแบ่งปันการทดสอบเบนช์มาร์กเพื่อแสดงให้เห็นว่าการจัดชั้นแคชใน Ceph สามารถปรับปรุงประสิทธิภาพของพื้นที่จัดเก็บข้อมูลที่ใช้ฮาร์ดดิสก์ได้อย่างไร โดยการตั้งชั้นแคชที่สนับสนุนโดยพูล NVMe
Ceph Cache Tier คืออะไรและทำงานอย่างไร
ชั้นบันทึกแคช Ceph ช่วยให้เราสามารถใช้อุปกรณ์จัดเก็บข้อมูลที่เร็วกว่าเป็นแคชสำหรับอุปกรณ์ที่ช้ากว่าได้ นี้เกี่ยวข้องกับการสร้างกลุ่มของอุปกรณ์จัดเก็บข้อมูลที่เร็ว/แพง (เช่น NVMe SSD) ที่กำหนดค่าให้ทำหน้าที่เป็นชั้นแคช และกลุ่มของอุปกรณ์ที่ช้า/ถูกกว่า (เช่น HDD) ที่กำหนดค่าให้ทำหน้าที่เป็นชั้นจัดเก็บที่ประหยัดค่าใช้จ่าย เทียบกับชั้นเก็บข้อมูลหลังคาและให้บริการคำขอการอ่านและเขียนจากไคลเอ็นต์ ชั้นเก็บแคชเก็บข้อมูลที่ถูกเข้าถึงบ่อยจากชั้นเก็บข้อมูลหลังคาและให้บริการคำขอการอ่านและเขียนจากไคลเอ็นต์ ตัวแทนการจัดชั้นแคชจะส่งออกหรือลบวัตถุจากชั้นแคชเป็นระยะๆ โดยอิงตามนโยบายบางอย่าง
การสาธิตชั้นเก็บแคชของ Ceph
ในอดีตเมื่อใช้ SATA SSD เป็นอุปกรณ์จัดเก็บแคชเทียร์ การปรับปรุงประสิทธิภาพของการใช้แคชเทียร์ไม่มีความสำคัญ ในปัจจุบัน ราคา NVMe SSD ลดลงมากเมื่อเปรียบเทียบกับหลายปีที่ผ่านมา และประสิทธิภาพของ NVMe SSD ก็เร็วกว่า HDD อย่างมาก เราต้องการทราบว่าการใช้ NVMe SSD เป็นแคชเทียร์สามารถช่วยเพิ่มประสิทธิภาพของ HDD pool ได้มากน้อยแค่ไหน
เพื่อทดสอบประสิทธิภาพของชั้นแคช NVMe เราตั้งค่าการทดสอบเพื่อดูว่าชั้นแคชช่วยปรับปรุงประสิทธิภาพของพื้นที่จัดเก็บข้อมูลที่ใช้ฮาร์ดดิสก์
การติดตั้งคลัสเตอร์
โฮสต์ NVME | 3 x Ambedded Mars500 Ceph Appliances |
ข้อมูลสเปคของแต่ละอุปกรณ์ Mars 500 | |
หน่วยประมวลผล (CPU) | 1x Ampere Altra Arm 64-Core 3.0 Ghz |
หน่วยความจำ (Memory) | 96 GiB DDR4 |
เครือข่าย (Network) | 2 พอร์ต 25Gbps Mellanox ConnectX-6 |
ไดรฟ์ OSD | 8 x Micron 7400 960GB |
โฮสต์ HDD | 3 x Ambedded Mars400 Ceph Appliances |
รายละเอียดสเปคของแต่ละอุปกรณ์ Mars 400 | |
หน่วยประมวลผล (CPU) | 8 โหนด Quad-Cores Arm64 1.2 GHz |
หน่วยความจำ (Memory) | 4GiB ต่อโหนด 32 GiB ต่ออุปกรณ์ |
เครือข่าย (Network) | 2 x 2.5Gbps ต่อโหนด 2x 10 Gb การเชื่อมต่อขึ้นผ่านสวิตช์ภายในตู้ |
ไดรฟ์ OSD | 8 x 6 TB Seagate Exos HDD |
ข้อมูลคลัสเตอร์ Ceph
- 24 x OSD บน NVMe SSD (3x Ambedded อุปกรณ์ Mars500)
- 24x OSD บน HDD (3x Ambedded อุปกรณ์ Mars400)
- เซิร์ฟเวอร์ HDD และ NVMe ตั้งอยู่ในราก CRUSH ที่แยกกัน
ผู้ใช้ทดสอบ
- 2 x เซิร์ฟเวอร์ทาง物理 2x การ์ดเครือข่าย 25Gb
- แต่ละเซิร์ฟเวอร์ทำงาน 7x VMs
- แต่ละ VM มี 4x คอร์ และ 8 GB หน่วยความจำ
ตั้งค่า Cache Tier โดย Ambedded UVS manager
1. สร้างพูลหลักโดยใช้ HDD osd.
2. สร้างพูล NVMe โดยใช้ NVMe SSD osd.
3. เพิ่ม NVMe pool เป็นชั้นความจำแคชของ HDD pool.
การกำหนดค่าชั้นความจำแคชเริ่มต้น:
- โหมดแคช: เขียนกลับ
- hit_set_count = 12
- hit_set_period = 14400 วินาที (4 ชั่วโมง)
- target_max_byte = 2 TiB
- target_max_objects = 1 ล้าน
- min_read_recency_for_promote & min_write_recency_for_promote = 2
- cache_target_dirty_ratio = 0.4
- cache_target_dirty_high_ratio = 0.6
- cache_target_full_ratio = 0.8
- cache_min_flush_age = 600 วินาที
- cache_min_evict_age = 1800 วินาที
เราทดสอบ HDD pool ก่อนและหลังจากเพิ่ม cache tier โดยใช้ไคลเอ็นต์สูงสุด 14 คนเพื่อสร้างภาระการทดสอบ แต่ละลูกค้าติดตั้ง RBD สำหรับการทดสอบ fio การทดสอบเริ่มต้นด้วยลูกค้าหนึ่งและเพิ่มจำนวนลูกค้าเมื่องานทดสอบแต่ละงานเสร็จสิ้น รอบทดสอบแต่ละรอบใช้เวลาห้านาทีและถูกควบคุมโดยอัตโนมัติโดย Jenkins ประสิทธิภาพของงานทดสอบคือผลรวมของผลลัพธ์ของลูกค้าทั้งหมด ก่อนที่จะทดสอบการจัดชั้นแคช เราเขียนข้อมูลลงใน RBDs จนกระทั่งพูลแคชชั้นถูกเต็มตามอัตราส่วนเป้าหมายของแคชเซฟ (0.8)
แผนภูมิแสดงให้เห็นว่าประสิทธิภาพของพูล HDD สะอาดได้รับการเพิ่มขึ้นอย่างมีนัยสำคัญหลังจากเพิ่มพูลแคช NVMe
ระหว่างการทดสอบชั้นแคช เราสังเกตสถิติของพูลโดยใช้คำสั่ง ceph osd pool stats พูลแคชและพูลเบสมีกิจกรรมการล้างข้อมูล การลบข้อมูล และการเพิ่มระดับ พูลสถิติที่เราจับรูปแบบต่าง ๆ ในช่วงเวลาที่แตกต่างกันขณะทดสอบชั้นแคช
ข้อมูลถูกเขียนลงในแคช
พูลแคชไอดี 84
การเขียนข้อมูลลูกค้า 21 MiB/s wr, 0 op/s rd, 5.49k op/s wr
พูล mars400_rbd ไอดี 86
ไม่มีอะไรเกิดขึ้น
แคชกำลังทำการโปรโมตและลบออก
พูลแคชไอดี 84
คลายเอาท์ไอโอไคลเอ็นต์ 42 MiB/s เขียน, 0 การดำเนินการอ่าน, 10.79k การดำเนินการเขียน
คลายเอาท์ไอโอแคชเทียร์ 179 MiB/s ลบออก, 17 การโปรโมต
พูล mars400_rbd ไอดี 86
คลายเอาท์ไอโอไคลเอ็นต์ 0 B/s อ่าน, 1.4 MiB/s เขียน, 18 การดำเนินการอ่าน, 358 การดำเนินการเขียน
แคชกำลังถูกล้าง
พูลแคชไอดี 84
คลายเอาท์ไอโอไคลเอ็นต์ 3.2 GiB/s rd, 830 op/s rd, 0 op/s wr
คลายเอาท์แคชทีร์ไอโอ 238 MiB/s flush, 14 op/s promote, 1 PGs flushing
พูล mars400_rbd ไอดี 86
คลายเอาท์ไอโอไคลเอ็นต์ 126 MiB/s rd, 232 MiB/s wr, 44 op/s rd, 57 op/s wr
PG กำลังไล่ออก
พูลแคช id 84
การเขียนข้อมูลของไคลเอ็นต์ 2.6 GiB/s rd, 0 B/s wr, 663 op/s rd, 0 op/s wr
การเขียนข้อมูลของแคชทีร์ 340 MiB/s flush, 2.7 MiB/s evict, 21 op/s promote, 1 PGs evicting (full)
พูล mars400_rbd id 86
การเขียนข้อมูลของไคลเอ็นต์ 768 MiB/s rd, 344 MiB/s wr, 212 op/s rd, 86 op/s wr
การล้างและการสื่อสารระหว่างลูกค้าโดยตรงไปยังพูลหลักของ PG.(ลูกค้ากำลังเขียนข้อมูล)
พูลแคชไอดี 84
ไคลเอ็นต์ไอโอ 0 B/s เขียน, 0 การดำเนินการ/วินาที อ่าน, 1 การดำเนินการ/วินาที เขียน
แคชทีร์ไอโอ 515 MiB/s ล้าง, 7.7 MiB/s ลบออก, 1 PGs กำลังล้าง
พูล mars400_rbd ไอดี 86
ไคลเอ็นต์ไอโอ 613 MiB/s เขียน, 0 การดำเนินการ/วินาที อ่าน, 153 การดำเนินการ/วินาที เขียน
หลังจากการทดสอบต่อเนื่อง เราพักผ่อนกับคลัสเตอร์เป็นเวลาหลายชั่วโมงแล้วทำการทดสอบเขียนแบบสุ่มขนาด 4 kB อีกครั้ง เราได้รับประสิทธิภาพที่ดีมากขึ้น สาเหตุมาจากพื้นที่แคชถูกปล่อยให้ใช้งานสำหรับการเขียนใหม่
จากการทดสอบนี้ เรามั่นใจว่าการใช้ NVMe pool เป็นชั้นแคชสำหรับ HDD pool สามารถเพิ่มประสิทธิภาพได้อย่างมีนัยสำคัญ
ควรทราบว่าประสิทธิภาพของการจัดชั้นแคชไม่สามารถรับประกันได้ ประสิทธิภาพขึ้นอยู่กับเงื่อนไขการเข้าถึงแคชในขณะนั้น และไม่สามารถทดสอบซ้ำด้วยการตั้งค่าและภารกิจเดียวกันเพื่อให้ได้ประสิทธิภาพเดียวกันได้
หากแอปพลิเคชันของคุณต้องการประสิทธิภาพที่สม่ำเสมอ โปรดใช้พูล SSD แบบ NMMe เท่านั้น
- ผลิตภัณฑ์ที่เกี่ยวข้อง
Mars500 NVME อุปกรณ์จัดเก็บข้อมูล Ceph แบบ All Flash
Mars 500
Mars 500 Ceph Appliance ถูกออกแบบมาเพื่อตอบสนองความต้องการในการจัดเก็บข้อมูลแบบคลาวด์ที่มีประสิทธิภาพสูง...
รายละเอียดอุปกรณ์จัดเก็บข้อมูล Mars 400PRO Ceph
Mars 400PRO
Mars 400 Ceph Appliance ถูกออกแบบมาเพื่อตอบสนองความต้องการในการจัดเก็บข้อมูลแบบคลาวด์ที่มีความจุสูง...
รายละเอียด
อุปกรณ์จัดเก็บข้อมูล Ceph
แผ่นข้อมูลฮาร์ดแวร์และซอฟต์แวร์ของอุปกรณ์จัดเก็บข้อมูล Mars 400 Ceph
Ceph ชั้นแคชทำงานอย่างไรบ้าง? | ผู้จัดการ UVS - การติดตั้ง Ceph อย่างง่าย | Ambedded
ตั้งอยู่ในไต้หวันตั้งแต่ปี 2013, Ambedded Technology Co., LTD. เป็นผู้ให้บริการโซลูชันการจัดเก็บข้อมูลแบบบล็อกและออบเจกต์ ซึ่งรวมถึงเทคโนโลยีการจัดเก็บข้อมูล Ceph, การรวมเซิร์ฟเวอร์ ARM, การจัดเก็บข้อมูลแบบโซลูชันที่กำหนดโดยซอฟต์แวร์, การปรับปรุงการจัดเก็บข้อมูลในองค์กร, การประหยัดค่าใช้จ่ายในการใช้งาน Ceph appliance, ซอฟต์แวร์การจัดการการจัดเก็บข้อมูลและโซลูชันการจัดเก็บข้อมูลแบบบล็อกและออบเจกต์ พวกเขาให้การสนับสนุน Ceph อย่างมืออาชีพ, ระบบจัดเก็บข้อมูลที่สามารถขยายได้และมีประสิทธิภาพสูงในศูนย์ข้อมูล
Ambedded ให้บริการโซลูชันการจัดเก็บข้อมูล Ceph ที่ทันสมัยบนเซิร์ฟเวอร์มาโคร ARM ที่ปรับแต่งให้เหมาะสำหรับผู้ซื้อธุรกิจที่ต้องการเพิ่มประสิทธิภาพในระบบจัดเก็บข้อมูลขององค์กรของพวกเขา แอพไลแอนซ์ Ceph ของเราช่วยลดต้นทุนทั้งหมด (TCO) และทำให้การจัดการพื้นที่จัดเก็บง่ายขึ้น รองรับการจัดเก็บบล็อก ระบบไฟล์ และการจัดเก็บวัตถุในแพลตฟอร์มที่เป็นระบบเดียวกัน ด้วยความมุ่งมั่นในนวัตกรรมและการสนับสนุนลูกค้า, Ambedded เป็นพันธมิตรที่น่าเชื่อถือของคุณสำหรับการให้บริการโซลูชัน SUSE Enterprise Storage Appliance ที่มีประสิทธิภาพและสามารถขยายขนาดได้ สัมผัสประสบการณ์การผสานรวมและการสนับสนุนอย่างมืออาชีพเพื่อใช้ประโยชน์สูงสุดจากเทคโนโลยี Ceph ในธุรกิจของคุณ
Ambedded ได้ให้บริการระบบจัดเก็บข้อมูลที่สามารถขยายขนาดและจัดการพื้นที่จัดเก็บ Ceph ที่มีราคาเหมาะสมตั้งแต่ปี 2013 และด้วยเทคโนโลยีที่ทันสมัยและประสบการณ์กว่า 20 ปี Ambedded รับประกันว่าจะตอบสนองความต้องการของลูกค้าแต่ละราย