การวิเคราะห์ประสิทธิภาพของ VM ใน VMware vSphere ส่วนที่ 3: การจัดเก็บ

การวิเคราะห์ประสิทธิภาพของ VM ใน VMware vSphere ส่วนที่ 3: การจัดเก็บ

ส่วนที่ 1. เกี่ยวกับซีพียู
ส่วนที่ 2 เกี่ยวกับหน่วยความจำ

วันนี้เราจะวิเคราะห์ตัวชี้วัดของระบบย่อยของดิสก์ใน vSphere ปัญหาการจัดเก็บข้อมูลเป็นสาเหตุที่พบบ่อยที่สุดที่ทำให้เครื่องเสมือนทำงานช้า ในกรณีของ CPU และ RAM หากการแก้ไขปัญหาสิ้นสุดลงที่ระดับไฮเปอร์ไวเซอร์ แล้วหากมีปัญหากับดิสก์ คุณอาจต้องจัดการกับเครือข่ายข้อมูลและระบบจัดเก็บข้อมูล

ฉันจะหารือในหัวข้อโดยใช้ตัวอย่างการเข้าถึงบล็อกระบบจัดเก็บข้อมูลแม้ว่าตัวนับจะเหมือนกันโดยประมาณสำหรับการเข้าถึงไฟล์

ทฤษฎีเล็กน้อย

เมื่อพูดถึงประสิทธิภาพของระบบย่อยดิสก์ของเครื่องเสมือน ผู้คนมักจะให้ความสนใจกับพารามิเตอร์สามตัวที่สัมพันธ์กัน:

  • จำนวนการดำเนินการอินพุต/เอาต์พุต (การดำเนินการอินพุต/เอาต์พุตต่อวินาที, IOPS)
  • ปริมาณงาน;
  • ความล่าช้าของการดำเนินการอินพุต/เอาท์พุต (Latency)

จำนวน IOPS มักจะมีความสำคัญสำหรับปริมาณงานแบบสุ่ม: การเข้าถึงบล็อกดิสก์ที่อยู่ในตำแหน่งต่างๆ ตัวอย่างของภาระดังกล่าวอาจเป็นฐานข้อมูล แอปพลิเคชันทางธุรกิจ (ERP, CRM) ฯลฯ

แบนด์วิดท์ สำคัญสำหรับการโหลดตามลำดับ: การเข้าถึงบล็อกที่อยู่ติดกัน ตัวอย่างเช่น ไฟล์เซิร์ฟเวอร์ (แต่ไม่เสมอไป) และระบบกล้องวงจรปิดสามารถสร้างภาระดังกล่าวได้

ปริมาณงานสัมพันธ์กับจำนวนการดำเนินการ I/O ดังต่อไปนี้:

ปริมาณงาน = IOPS * ขนาดบล็อกโดยที่ Block size คือขนาดบล็อก

ขนาดบล็อกเป็นลักษณะที่ค่อนข้างสำคัญ ESXi เวอร์ชันใหม่อนุญาตให้บล็อกขนาดสูงสุด 32 KB ถ้าบล็อกใหญ่กว่านี้จะแบ่งออกเป็นหลายบล็อก ระบบจัดเก็บข้อมูลบางระบบไม่สามารถทำงานกับบล็อกขนาดใหญ่ดังกล่าวได้อย่างมีประสิทธิภาพ ดังนั้นจึงมีพารามิเตอร์ DiskMaxIOSize ในการตั้งค่าขั้นสูงของ ESXi เมื่อใช้มัน คุณสามารถลดขนาดบล็อกสูงสุดที่ไฮเปอร์ไวเซอร์ข้ามได้ (รายละเอียดเพิ่มเติม ที่นี่). ก่อนที่จะเปลี่ยนพารามิเตอร์นี้ ฉันขอแนะนำให้คุณปรึกษากับผู้ผลิตระบบจัดเก็บข้อมูลหรืออย่างน้อยก็ทดสอบการเปลี่ยนแปลงบนม้านั่งในห้องปฏิบัติการ 

ขนาดบล็อกขนาดใหญ่อาจส่งผลเสียต่อประสิทธิภาพการจัดเก็บข้อมูล แม้ว่าจำนวน IOPS และปริมาณงานจะค่อนข้างน้อย แต่ก็สามารถสังเกตเวลาแฝงที่สูงได้ด้วยขนาดบล็อกที่ใหญ่ ดังนั้นควรใส่ใจกับพารามิเตอร์นี้

ความแอบแฝง – พารามิเตอร์ประสิทธิภาพที่น่าสนใจที่สุด เวลาแฝง I/O สำหรับเครื่องเสมือนประกอบด้วย:

  • ความล่าช้าภายในไฮเปอร์ไวเซอร์ (KAVG, Kernel MilliSec เฉลี่ย/อ่าน);
  • ความล่าช้าจากเครือข่ายข้อมูลและระบบจัดเก็บข้อมูล (DAVG, Average Driver MilliSec/Command)

เวลาแฝงทั้งหมดที่มองเห็นได้ใน guest OS (GAVG, Average Guest MilliSec/Command) คือผลรวมของ KAVG และ DAVG

วัด GAVG และ DAVG และคำนวณ KAVG: GAVG – DAVG

การวิเคราะห์ประสิทธิภาพของ VM ใน VMware vSphere ส่วนที่ 3: การจัดเก็บ
Источник

เรามาดูกันดีกว่า เคเอวีจี. ในระหว่างการทำงานปกติ KAVG ควรมีแนวโน้มที่จะเป็นศูนย์หรืออย่างน้อยก็น้อยกว่า DAVG กรณีเดียวที่ฉันรู้ว่า KAVG คาดว่าจะสูงตรงไหนคือขีดจำกัด IOPS บนดิสก์ VM ในกรณีนี้ เมื่อคุณพยายามเกินขีดจำกัด KAVG จะเพิ่มขึ้น

องค์ประกอบที่สำคัญที่สุดของ KAVG คือ QAVG ซึ่งเป็นเวลาคิวการประมวลผลภายในไฮเปอร์ไวเซอร์ ส่วนประกอบที่เหลือของ KAVG นั้นไม่สำคัญเลย

คิวในไดรเวอร์อะแดปเตอร์ดิสก์และคิวไปยังดวงจันทร์มีขนาดคงที่ สำหรับสภาพแวดล้อมที่มีการโหลดสูง อาจมีประโยชน์ในการเพิ่มขนาดนี้ ที่นี่ อธิบายวิธีเพิ่มคิวในไดรเวอร์อะแดปเตอร์ (ในขณะเดียวกันคิวไปยังดวงจันทร์ก็จะเพิ่มขึ้น) การตั้งค่านี้จะใช้งานได้เมื่อมี VM เพียงเครื่องเดียวที่ทำงานกับดวงจันทร์ ซึ่งพบไม่บ่อยนัก หากมี VM หลายเครื่องบนดวงจันทร์ คุณต้องเพิ่มพารามิเตอร์ด้วย Disk.SchedNumReqโดดเด่น (คำแนะนำ  ที่นี่). โดยการเพิ่มคิว คุณจะลด QAVG และ KAVG ตามลำดับ

แต่ขอย้ำอีกครั้ง ขั้นแรกให้อ่านเอกสารจากผู้ขาย HBA และทดสอบการเปลี่ยนแปลงบนม้านั่งในห้องปฏิบัติการ

ขนาดของคิวไปดวงจันทร์อาจได้รับผลกระทบจากการรวมกลไก SIOC (Storage I/O Control) เข้าไปด้วย ให้การเข้าถึงดวงจันทร์ที่สม่ำเสมอจากเซิร์ฟเวอร์ทั้งหมดในคลัสเตอร์โดยการเปลี่ยนคิวเป็นดวงจันทร์บนเซิร์ฟเวอร์แบบไดนามิก นั่นคือ หากโฮสต์ใดโฮสต์หนึ่งกำลังเรียกใช้ VM ที่ต้องใช้ประสิทธิภาพในปริมาณที่ไม่สมส่วน (VM เพื่อนบ้านที่มีสัญญาณรบกวน) SIOC จะลดความยาวคิวเป็นดวงจันทร์บนโฮสต์นี้ (DQLEN) รายละเอียดเพิ่มเติม ที่นี่.

เราได้แยก KAVG ออกไปแล้ว ตอนนี้เป็นเรื่องเล็กน้อย ดีเอวีจี. ทุกอย่างเป็นเรื่องง่ายที่นี่: DAVG คือความล่าช้าที่เกิดขึ้นจากสภาพแวดล้อมภายนอก (เครือข่ายข้อมูลและระบบจัดเก็บข้อมูล) ระบบจัดเก็บข้อมูลที่ทันสมัยและไม่ทันสมัยทุกระบบมีตัวนับประสิทธิภาพของตัวเอง หากต้องการวิเคราะห์ปัญหาด้วย DAVG ควรพิจารณาปัญหาเหล่านั้น หากทุกอย่างเรียบร้อยดีใน ​​ESXi และด้านการจัดเก็บ ให้ตรวจสอบเครือข่ายข้อมูล

เพื่อหลีกเลี่ยงปัญหาด้านประสิทธิภาพ ให้เลือกนโยบายการเลือกเส้นทาง (PSP) ที่ถูกต้องสำหรับระบบจัดเก็บข้อมูลของคุณ ระบบจัดเก็บข้อมูลสมัยใหม่เกือบทั้งหมดรองรับ PSP Round-Robin (มีหรือไม่มี ALUA, Asymmetric Logical Unit Access) นโยบายนี้อนุญาตให้คุณใช้เส้นทางที่มีอยู่ทั้งหมดไปยังระบบจัดเก็บข้อมูล ในกรณีของ ALUA จะใช้เฉพาะเส้นทางไปยังตัวควบคุมที่เป็นเจ้าของดวงจันทร์เท่านั้น ระบบจัดเก็บข้อมูลบางระบบบน ESXi ไม่มีกฎเริ่มต้นที่กำหนดนโยบาย Round-Robin หากไม่มีกฎสำหรับระบบจัดเก็บข้อมูลของคุณ ให้ใช้ปลั๊กอินจากผู้ผลิตระบบจัดเก็บข้อมูล ซึ่งจะสร้างกฎที่เกี่ยวข้องบนโฮสต์ทั้งหมดในคลัสเตอร์ หรือสร้างกฎด้วยตนเอง รายละเอียด ที่นี่

นอกจากนี้ ผู้ผลิตระบบจัดเก็บข้อมูลบางรายแนะนำให้เปลี่ยนจำนวน IOPS ต่อเส้นทางจากค่ามาตรฐาน 1000 เป็น 1 ในทางปฏิบัติของเรา สิ่งนี้ทำให้สามารถ "บีบ" ประสิทธิภาพออกจากระบบจัดเก็บข้อมูลได้มากขึ้น และลดเวลาที่ต้องใช้ในการเฟลโอเวอร์ได้อย่างมาก ในกรณีที่ตัวควบคุมขัดข้องหรืออัปเดต ตรวจสอบคำแนะนำของผู้ขายและหากไม่มีข้อห้ามให้ลองเปลี่ยนพารามิเตอร์นี้ รายละเอียด ที่นี่.

ตัวนับประสิทธิภาพระบบย่อยดิสก์เครื่องเสมือนพื้นฐาน

ตัวนับประสิทธิภาพระบบย่อยของดิสก์ใน vCenter จะถูกรวบรวมในส่วน Datastore, Disk, Virtual Disk:

การวิเคราะห์ประสิทธิภาพของ VM ใน VMware vSphere ส่วนที่ 3: การจัดเก็บ

ในส่วน ที่เก็บข้อมูล มีตัวชี้วัดสำหรับพื้นที่เก็บข้อมูลดิสก์ vSphere (ที่เก็บข้อมูล) ซึ่งมีดิสก์ VM อยู่ ที่นี่คุณจะพบเคาน์เตอร์มาตรฐานสำหรับ:

  • IOPS (คำขออ่าน/เขียนโดยเฉลี่ยต่อวินาที) 
  • ปริมาณงาน (อัตราการอ่าน/เขียน) 
  • ความล่าช้า (อ่าน/เขียน/เวลาแฝงสูงสุด)

โดยหลักการแล้วทุกอย่างชัดเจนจากชื่อของเคาน์เตอร์ ฉันขอดึงความสนใจของคุณอีกครั้งถึงความจริงที่ว่าสถิติที่นี่ไม่ได้สำหรับ VM เฉพาะ (หรือดิสก์ VM) แต่เป็นสถิติทั่วไปสำหรับพื้นที่เก็บข้อมูลทั้งหมด ในความคิดของฉัน การดูสถิติเหล่านี้ใน ESXTOP จะสะดวกกว่า อย่างน้อยก็ขึ้นอยู่กับข้อเท็จจริงที่ว่าระยะเวลาการวัดขั้นต่ำคือ 2 วินาที

ในส่วน ดิสก์ มีตัวชี้วัดบนอุปกรณ์บล็อกที่ VM ใช้ มีตัวนับสำหรับ IOPS ของประเภทผลรวม (จำนวนการดำเนินการอินพุต/เอาท์พุตระหว่างระยะเวลาการวัด) และตัวนับหลายตัวที่เกี่ยวข้องกับการเข้าถึงบล็อก (คำสั่งถูกยกเลิก การรีเซ็ตบัส) ในความคิดของฉัน การดูข้อมูลนี้ใน ESXTOP จะสะดวกกว่าเช่นกัน

ส่วน ดิสก์เสมือน – มีประโยชน์มากที่สุดจากมุมมองของการค้นหาปัญหาประสิทธิภาพของระบบย่อยดิสก์ VM ที่นี่คุณสามารถดูประสิทธิภาพของดิสก์เสมือนแต่ละตัวได้ ข้อมูลนี้จำเป็นในการทำความเข้าใจว่าเครื่องเสมือนมีปัญหาหรือไม่ นอกเหนือจากตัวนับมาตรฐานสำหรับจำนวนการดำเนินการ I/O ปริมาณการอ่าน/เขียน และความล่าช้า ส่วนนี้ยังประกอบด้วยตัวนับที่มีประโยชน์ซึ่งแสดงขนาดบล็อก: ขนาดคำขออ่าน/เขียน

ในภาพด้านล่างคือกราฟประสิทธิภาพของดิสก์ VM ซึ่งคุณสามารถดูจำนวน IOPS เวลาแฝง และขนาดบล็อกได้ 

การวิเคราะห์ประสิทธิภาพของ VM ใน VMware vSphere ส่วนที่ 3: การจัดเก็บ

คุณยังสามารถดูตัวชี้วัดประสิทธิภาพสำหรับพื้นที่เก็บข้อมูลทั้งหมดได้ หากเปิดใช้งาน SIOC นี่คือข้อมูลพื้นฐานเกี่ยวกับเวลาแฝงและ IOPS โดยเฉลี่ย ตามค่าเริ่มต้น ข้อมูลนี้สามารถดูได้แบบเรียลไทม์เท่านั้น

การวิเคราะห์ประสิทธิภาพของ VM ใน VMware vSphere ส่วนที่ 3: การจัดเก็บ

เอสเอ็กซ์ท็อป

ESXTOP มีหลายหน้าจอที่ให้ข้อมูลเกี่ยวกับระบบย่อยของดิสก์โฮสต์โดยรวม เครื่องเสมือนแต่ละเครื่องและดิสก์

เริ่มต้นด้วยข้อมูลเกี่ยวกับเครื่องเสมือน หน้าจอ "Disk VM" ถูกเรียกด้วยปุ่ม "v":

การวิเคราะห์ประสิทธิภาพของ VM ใน VMware vSphere ส่วนที่ 3: การจัดเก็บ

NVDISK คือจำนวนดิสก์ VM หากต้องการดูข้อมูลสำหรับแต่ละดิสก์ ให้กด "e" และป้อน GID ของ VM ที่สนใจ

ความหมายของพารามิเตอร์ที่เหลือบนหน้าจอนี้ชัดเจนจากชื่อ

หน้าจอที่มีประโยชน์อีกประการหนึ่งเมื่อแก้ไขปัญหาคืออะแดปเตอร์ดิสก์ เรียกโดยปุ่ม “d” (ช่อง A,B,C,D,E,G ถูกเลือกในภาพด้านล่าง):

การวิเคราะห์ประสิทธิภาพของ VM ใน VMware vSphere ส่วนที่ 3: การจัดเก็บ

ป.ป.ท – จำนวนเส้นทางไปยังดวงจันทร์ที่มองเห็นได้จากอะแดปเตอร์นี้ หากต้องการรับข้อมูลสำหรับแต่ละเส้นทางบนอะแดปเตอร์ ให้กด "e" แล้วป้อนชื่อของอะแดปเตอร์:

การวิเคราะห์ประสิทธิภาพของ VM ใน VMware vSphere ส่วนที่ 3: การจัดเก็บ

อคเลน – ขนาดคิวสูงสุดบนอะแดปเตอร์

นอกจากนี้บนหน้าจอนี้ยังมีตัวนับความล่าช้าที่ฉันพูดถึงด้านบน: KAVG/cmd, GAVG/cmd, DAVG/cmd, QAVG/cmd.

หน้าจออุปกรณ์ดิสก์ซึ่งเรียกขึ้นมาโดยการกดปุ่ม "u" ให้ข้อมูลเกี่ยวกับอุปกรณ์บล็อกแต่ละตัว - ดวงจันทร์ (ฉันเลือกฟิลด์ A, B, F, G ในภาพด้านล่าง) ที่นี่คุณสามารถดูสถานะคิวของดวงจันทร์ได้

การวิเคราะห์ประสิทธิภาพของ VM ใน VMware vSphere ส่วนที่ 3: การจัดเก็บ

ดีคิวเลน – ขนาดคิวสำหรับอุปกรณ์บล็อก
แอคทีวี – จำนวนคำสั่ง I/O ในเคอร์เนล ESXi
คิว – จำนวนคำสั่ง I/O ในคิว
%ดอลล่าร์ – ACTV / DQLEN × 100%
โหลด – (ACTV + QUED) / DQLEN

หาก %USD สูง คุณควรพิจารณาเพิ่มคิว ยิ่งมีคำสั่งในคิวมากเท่าใด QAVG ก็จะยิ่งสูงขึ้นและ KAVG ตามลำดับ

คุณยังสามารถดูบนหน้าจออุปกรณ์ดิสก์ว่า VAAI (vStorage API for Array Integration) ทำงานอยู่บนระบบจัดเก็บข้อมูลหรือไม่ เมื่อต้องการทำเช่นนี้ ให้เลือกฟิลด์ A และ O

กลไก VAAI ช่วยให้คุณสามารถถ่ายโอนงานบางส่วนจากไฮเปอร์ไวเซอร์ไปยังระบบจัดเก็บข้อมูลได้โดยตรง เช่น การทำให้เป็นศูนย์ การคัดลอกบล็อก หรือการบล็อก

การวิเคราะห์ประสิทธิภาพของ VM ใน VMware vSphere ส่วนที่ 3: การจัดเก็บ

ดังที่คุณเห็นในภาพด้านบน VAAI ทำงานบนระบบจัดเก็บข้อมูลนี้: มีการใช้ค่าพื้นฐานแบบ Zero และ ATS อย่างแข็งขัน

เคล็ดลับในการเพิ่มประสิทธิภาพการทำงานกับระบบย่อยของดิสก์บน ESXi

  • ใส่ใจกับขนาดบล็อก
  • ตั้งค่าขนาดคิวที่เหมาะสมที่สุดบน HBA
  • อย่าลืมเปิดใช้งาน SIOC บนดาต้าสโตร์
  • เลือก PSP ตามคำแนะนำของผู้ผลิตระบบจัดเก็บข้อมูล
  • ตรวจสอบให้แน่ใจว่า VAAI ใช้งานได้

บทความที่มีประโยชน์ในหัวข้อ:http://www.yellow-bricks.com/2011/06/23/disk-schednumreqoutstanding-the-story/
http://www.yellow-bricks.com/2009/09/29/whats-that-alua-exactly/
http://www.yellow-bricks.com/2019/03/05/dqlen-changes-what-is-going-on/
https://www.codyhosterman.com/2017/02/understanding-vmware-esxi-queuing-and-the-flasharray/
https://www.codyhosterman.com/2018/03/what-is-the-latency-stat-qavg/
https://kb.vmware.com/s/article/1267
https://kb.vmware.com/s/article/1268
https://kb.vmware.com/s/article/1027901
https://kb.vmware.com/s/article/2069356
https://kb.vmware.com/s/article/2053628
https://kb.vmware.com/s/article/1003469
https://www.vmware.com/content/dam/digitalmarketing/vmware/en/pdf/techpaper/performance/vsphere-esxi-vcenter-server-67-performance-best-practices.pdf

ที่มา: will.com

เพิ่มความคิดเห็น