2 คะแนน โดย computerphilosopher 5 시간 전 | ยังไม่มีความคิดเห็น | แชร์ทาง WhatsApp
  • พารามิเตอร์พื้นฐานของ ZFS ถูกตั้งมาเป็นค่าประนีประนอมระหว่างการเข้าถึงแบบลำดับและแบบสุ่ม
    • หากรู้ลักษณะของเวิร์กโหลดอย่างชัดเจน ก็สามารถจูนให้ดุดันมากขึ้นได้
  • อธิบายความแตกต่างระหว่างการเข้าถึงแบบลำดับ vs การเข้าถึงแบบสุ่ม
    • HDD มีประสิทธิภาพการเข้าถึงแบบสุ่มช้ากว่าแบบลำดับได้ตั้งแต่หลายสิบถึงหลายร้อยเท่า เพราะต้องขยับหัวอ่าน
    • SSD แม้จะทำให้การเข้าถึงแบบสุ่มเร็วขึ้นมาก แต่การเข้าถึงแบบลำดับก็ยังมีประสิทธิภาพกว่าอยู่ดี
    • เวิร์กโหลดที่อ่านไฟล์ขนาดใหญ่ตามลำดับจะมีลักษณะเอนเอียงไปทางการเข้าถึงแบบลำดับ
    • เวิร์กโหลดที่อ่านไฟล์ขนาดเล็กหลายไฟล์บ่อย ๆ มักมีแนวโน้มเป็นการเข้าถึงแบบสุ่มสูง
  • แนะนำวิธีวิเคราะห์เวิร์กโหลด
    • อนุมานเชิงตรรกะจากโค้ด/โครงสร้าง
    • คำนวณขนาด IO เฉลี่ยจาก throughput (bps) + จำนวน IO ต่อวินาที (iops)
    • วิเคราะห์การกระจายของขนาด IO ด้วย zpool iostat -r
  • การตีความ zpool iostat -r
    • ind: ขนาดของคำขอเชิงตรรกะแต่ละรายการ
    • agg: ขนาด IO จริงที่ถูกควบรวมแล้วและนำไปประมวลผล
    • หาก agg ใหญ่กว่า ind แปลว่าการรวม IO ที่อยู่ติดกันทำได้ดี
  • ผลการวิเคราะห์เวิร์กโหลดตัวอย่าง
    • สัดส่วนการอ่านแบบ synchronous ประมาณ 76%
    • การอ่านขนาด 32KiB หรือน้อยกว่าคิดเป็นมากกว่า 99%
    • การเขียนแบบ asynchronous ก็มีสัดส่วนของ IO ขนาดเล็กสูงเช่นกัน
    • โดยรวมเป็นเวิร์กโหลดที่มีลักษณะการเข้าถึงแบบสุ่มสูงมาก
  • zfs_prefetch_disable
    • ZFS จะตรวจจับแพตเทิร์นการเข้าถึงแบบลำดับ แล้วโหลดบล็อกข้างเคียงเข้า ARC ล่วงหน้า
    • ในเวิร์กโหลดแบบสุ่ม อัตราการ hit ของการ prefetch มักต่ำ จนอาจเพิ่ม IO ที่ไม่จำเป็น
    • สามารถวัดประสิทธิภาพของ prefetch ได้ด้วย arc_summary
    • หากอัตราการ hit ต่ำ ก็อาจพิจารณา zfs_prefetch_disable ได้
  • recordsize
    • ค่าเริ่มต้นคือ 128K
    • ในเวิร์กโหลดตัวอย่าง IO ส่วนใหญ่มีขนาดไม่เกิน 32KiB จึงอาจพิจารณาใช้ recordsize ที่เล็กลง
  • การเลือกค่าที่เหมาะสมที่สุด
    • สิ่งสำคัญคือต้องตัดสินใจจากการทำ benchmark
    • ฐานข้อมูลอย่าง MySQL/Postgres มีกรณีการจูนที่ผ่านการพิสูจน์แล้วอยู่มาก
    • โดยทั่วไปมักใช้ recordsize ที่ใกล้เคียงกับขนาด page ของฐานข้อมูล

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น