Computer >> คอมพิวเตอร์ >  >> ระบบ >> Windows Server

จะวัดประสิทธิภาพการจัดเก็บข้อมูลและ IOPS บน Windows ได้อย่างไร

หนึ่งในเมตริกหลักซึ่งช่วยในการประมาณประสิทธิภาพของระบบจัดเก็บข้อมูลที่มีอยู่หรือที่ออกแบบไว้คือ IOPS (การทำงานของอินพุต/เอาต์พุตต่อวินาที ). พูดง่ายๆ ก็คือ IOPS คือจำนวนของการดำเนินการอ่าน/เขียนที่มีหน่วยเก็บข้อมูล ดิสก์ หรือระบบไฟล์ต่อหน่วยเวลา ยิ่งตัวเลขนี้มากเท่าไหร่ ประสิทธิภาพของพื้นที่จัดเก็บข้อมูลของคุณก็จะยิ่งมากขึ้นเท่านั้น (พูดตามตรง ค่า IOPS จะต้องพิจารณาร่วมกับคุณลักษณะด้านประสิทธิภาพของพื้นที่เก็บข้อมูลอื่นๆ เช่น เวลาในการตอบสนอง ปริมาณงาน ฯลฯ)

ในบทความนี้ เราจะพิจารณาหลายวิธีในการวัดประสิทธิภาพการจัดเก็บข้อมูล (IOPS, เวลาแฝง, ปริมาณงาน) ใน Windows (คุณสามารถใช้คู่มือนี้สำหรับฮาร์ดไดรฟ์ในเครื่อง, SSD, โฟลเดอร์เครือข่าย SMB, โวลุ่ม CSV หรือ LUN บน SAN/iSCSI การจัดเก็บ)

การจับ I/O ที่เก็บข้อมูลโดยใช้ตัวนับประสิทธิภาพของดิสก์ใน Windows

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

  1. เริ่มต้นประสิทธิภาพการทำงาน
  2. สร้าง ชุดรวบรวมข้อมูลใหม่ และเลือกสร้างด้วยตนเอง; จะวัดประสิทธิภาพการจัดเก็บข้อมูลและ IOPS บน Windows ได้อย่างไร
  3. เลือกช่องทำเครื่องหมาย สร้างบันทึกข้อมูล -> ตัวนับประสิทธิภาพ; จะวัดประสิทธิภาพการจัดเก็บข้อมูลและ IOPS บน Windows ได้อย่างไร
  4. ตอนนี้อยู่ในคุณสมบัติของชุดการรวบรวมข้อมูลใหม่ ให้เพิ่มตัวนับประสิทธิภาพต่อไปนี้สำหรับ Physical Disk ออบเจ็กต์ (คุณสามารถเลือกตัวนับสำหรับดิสก์เฉพาะหรือสำหรับดิสก์ในเครื่องที่มีอยู่ทั้งหมด):
    • เฉลี่ย ดิสก์วินาที/โอน
    • เฉลี่ย ความยาวของคิวดิสก์
    • ไบต์/การถ่ายโอนเฉลี่ยของดิสก์
    • ดิสก์ไบต์/วินาที
    • การถ่ายโอนดิสก์/วินาที
    • แยก IO/วินาที
  5. คุณสามารถเปลี่ยนคุณสมบัติการเก็บรวบรวมข้อมูลอื่นๆ ได้ ตามค่าเริ่มต้น ค่าตัวนับจะถูกรวบรวมทุกๆ 15 วินาที ในการแสดงประสิทธิภาพของดิสก์แบบเรียลไทม์ คุณต้องเพิ่มตัวนับ Perfmon ที่ระบุใน เครื่องมือตรวจสอบ -> การตรวจสอบประสิทธิภาพ ส่วน. จะวัดประสิทธิภาพการจัดเก็บข้อมูลและ IOPS บน Windows ได้อย่างไร
  6. ยังคงเริ่มรวบรวมข้อมูลตัวนับประสิทธิภาพ (เลือก เริ่ม ) และรอการรวบรวมข้อมูลเพียงพอสำหรับการวิเคราะห์ หลังจากนั้น ให้คลิกขวาที่ชุดตัวรวบรวมข้อมูลและเลือก หยุด; จะวัดประสิทธิภาพการจัดเก็บข้อมูลและ IOPS บน Windows ได้อย่างไร
  7. หากต้องการดูข้อมูลประสิทธิภาพที่รวบรวม ไปที่ ประสิทธิภาพ -> รายงาน -> กำหนดโดยผู้ใช้ -> Data_Disk_IO —> check_the_last_set . ตามค่าเริ่มต้น ข้อมูลดิสก์จะแสดงเป็นกราฟ
  8. ใช้ Ctrl + G เพื่อสลับไปที่รายงาน โหมด. จะวัดประสิทธิภาพการจัดเก็บข้อมูลและ IOPS บน Windows ได้อย่างไร

จะเข้าใจตัวนับประสิทธิภาพการจัดเก็บที่รวบรวมโดย Perfmon ได้อย่างไร สำหรับการวิเคราะห์อย่างรวดเร็วของประสิทธิภาพของดิสก์/การจัดเก็บ คุณต้องดูค่าของตัวนับ 5 ตัวต่อไปนี้เป็นอย่างน้อย

เมื่อวิเคราะห์ข้อมูลตัวนับ ขอแนะนำให้คุณเข้าใจการกำหนดค่าฟิสิคัลดิสก์ (ที่เก็บข้อมูล) ปัจจุบัน (ไม่ว่าจะใช้ RAID หรือ Stripe จำนวนและประเภทของดิสก์ ขนาดแคช ฯลฯ)
  • ดิสก์วินาที/โอน – เวลาที่ใช้ในการดำเนินการเขียน/อ่านหนึ่งครั้งกับอุปกรณ์จัดเก็บข้อมูลหรือดิสก์ (เวลาแฝงของดิสก์ ). หากการหน่วงเวลามากกว่า 25 ms (0.25) แสดงว่าอาร์เรย์ดิสก์ไม่สามารถจัดการการทำงานของ I/O ได้ตรงเวลา สำหรับเซิร์ฟเวอร์ที่มีภาระงานสูง ค่าเวลาแฝงของดิสก์ไม่ควรเกิน 10 มิลลิวินาที (0.1)
  • การถ่ายโอนดิสก์/วินาที – (IOPS) จำนวนการดำเนินการอ่าน/เขียนต่อวินาที นี่คือตัวบ่งชี้หลักของความรุนแรงในการเข้าถึงดิสก์ (ค่า IOPS โดยประมาณสำหรับดิสก์ประเภทต่างๆ จะแสดงอยู่ที่ท้ายบทความ)
  •  ไบต์ของดิสก์/วินาที ปริมาณงานดิสก์ทั้งหมด (อ่าน+เขียน) ต่อวินาที ค่าสูงสุดขึ้นอยู่กับประเภทดิสก์ (150-250 Mb/s – สำหรับดิสก์ HDD ปกติและ 500-10000 สำหรับ SSD)
  • แยก IO/วินาที ตัวบ่งชี้การกระจายตัวของดิสก์เมื่อระบบปฏิบัติการต้องแยกการดำเนินการ I/O หนึ่งรายการออกเป็นคำขอดิสก์หลายรายการ นอกจากนี้ยังอาจบ่งชี้ว่าแอปพลิเคชันกำลังขอบล็อกข้อมูลขนาดใหญ่เกินไปซึ่งไม่สามารถถ่ายโอนในการดำเนินการเดียวได้
  • ค่าเฉลี่ย ความยาวของคิวดิสก์ จำนวนคำขออ่าน/เขียนโดยเฉลี่ยที่เข้าคิว สำหรับดิสก์เดียว ความยาวคิวไม่ควรเกิน 2 . สำหรับอาร์เรย์ RAID ของดิสก์ 4 ตัว ค่าขีดจำกัดของความยาวคิวดิสก์คือ 8

DiskSpd:การทดสอบประสิทธิภาพของดิสก์และ IOPS ใน Windows

Microsoft แนะนำให้ใช้ DiskSpd (https://aka.ms/diskspd) ยูทิลิตี้สำหรับสร้างโหลดบนระบบดิสก์ (ที่เก็บข้อมูล) และวัดประสิทธิภาพ นี่คือเครื่องมืออินเทอร์เฟซบรรทัดคำสั่งที่สามารถดำเนินการ I/O กับเป้าหมายของไดรฟ์ที่ระบุในหลายเธรด ฉันมักจะใช้ DiskSpd เพื่อวัดประสิทธิภาพการจัดเก็บข้อมูลและรับความเร็วในการอ่าน/เขียนสูงสุดและ IOPS จากเซิร์ฟเวอร์เฉพาะ (แน่นอนว่าคุณสามารถวัดประสิทธิภาพของที่เก็บข้อมูลได้เช่นกัน ในกรณีนี้ diskspd จะถูกใช้เพื่อสร้างภาระการจัดเก็บข้อมูล ).

DiskSpd ไม่ต้องการการติดตั้ง เพียงแค่ดาวน์โหลดและแตกไฟล์เก็บถาวรไปยังดิสก์ในเครื่อง สำหรับระบบ x64 บิต ให้ใช้เวอร์ชันของ diskspd.exe จาก amd64fre ไดเรกทอรี

ฉันใช้คำสั่งต่อไปนี้เพื่อทดสอบประสิทธิภาพของดิสก์:

diskspd.exe –c50G -d300 -r -w40 -t8 -o32 -b64K -Sh -L E:\diskpsdtmp.dat > DiskSpeedResults.txt

สำคัญ . เมื่อใช้ diskspd.exe จะมีการสร้างภาระจำนวนมากบนดิสก์และ CPU ของระบบที่ทดสอบ เพื่อขจัดการเสื่อมประสิทธิภาพสำหรับผู้ใช้ ไม่แนะนำให้เริ่มต้นบนระบบที่มีประสิทธิผลในชั่วโมงเร่งด่วน

จะวัดประสิทธิภาพการจัดเก็บข้อมูลและ IOPS บน Windows ได้อย่างไร

  • -c50G – ขนาดไฟล์ 50 GB (ควรใช้ขนาดไฟล์ใหญ่จะดีกว่าเพื่อไม่ให้อยู่ในแคชของตัวควบคุมการจัดเก็บข้อมูล)
  • -d300 – ระยะเวลาทดสอบเป็นวินาที;
  • -r – การดำเนินการอ่าน/เขียนแบบสุ่ม (หากคุณต้องการทดสอบการเข้าถึงตามลำดับ ให้ใช้ –s);
  • -t8 – จำนวนเธรด;
  • -w40 – อัตราส่วนการเขียนต่อการอ่าน 40%/ 60%;
  • -o32 — ความยาวคิว;
  • -b64K — ขนาดบล็อก
  • -Sh — ไม่ใช้แคช
  • -L — วัดเวลาแฝง;
  • E:\diskpsdtmp.dat – ทดสอบเส้นทางของไฟล์

หลังจากการทดสอบความเค้นเสร็จสิ้น ค่าประสิทธิภาพการจัดเก็บเฉลี่ยสามารถรับได้จากตารางผลลัพธ์

ในการทดสอบของฉัน ได้รับข้อมูลประสิทธิภาพต่อไปนี้ (ตรวจสอบตาราง Total IO) แล้ว:

  • MiB/s — 241 (ประมาณ 252 Mb/s ไม่เลว);
  • IOPS — 3866 (ดีมาก!);
  • เวลาแฝงเฉลี่ย — 66.206 ms (เวลาแฝงค่อนข้างมาก!)

จะวัดประสิทธิภาพการจัดเก็บข้อมูลและ IOPS บน Windows ได้อย่างไร

คุณสามารถรับค่าแต่ละค่าสำหรับการดำเนินการอ่าน (ส่วน Read IO) หรือเขียน (ส่วน เขียน IO) ได้

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

จะวัด IOPS ของพื้นที่เก็บข้อมูล ปริมาณงาน และเวลาแฝงโดยใช้ PowerShell ได้อย่างไร

ฉันพบสคริปต์ PowerShell (โดย Mikael Nystrom, Microsoft MVP) ซึ่งเป็นส่วนเสริมของ SQLIO.exe ยูทิลิตี้ (ชุดการทดสอบประสิทธิภาพการจัดเก็บไฟล์)

หมายเหตุ . ในเดือนธันวาคม 2015 Microsoft ได้ประกาศยุติการสนับสนุนเครื่องมือนี้และแทนที่ SQLIO ด้วยเครื่องมือที่เป็นสากลมากขึ้น Diskspd และลบไฟล์การแจกจ่าย SQLIO ออกจากเว็บไซต์ของตน ดังนั้น คุณจะต้องค้นหา sqlio.exe ด้วยตัวเอง หรือดาวน์โหลดจากเว็บไซต์ของเรา (อยู่ในไฟล์เก็บถาวรที่มีสคริปต์ PowerShell)

ดังนั้น ดาวน์โหลดไฟล์เก็บถาวรที่มี 2 ไฟล์:SQLIO.exe และ DiskPerformance.ps1 (disk_perf_iops.ZIP — 74 KB) และแตกไฟล์ไปยังโฟลเดอร์ใดก็ได้

จะวัดประสิทธิภาพการจัดเก็บข้อมูลและ IOPS บน Windows ได้อย่างไร

ตัวอย่างของการรันสคริปต์ PowerShell เพื่อประเมินประสิทธิภาพของดิสก์และ IOPS:

.\DiskPerformance.ps1 -TestFileName test.dat –TestFileSizeInGB 1 -TestFilepath C:\temp -TestMode Get-LargeIO -FastMode True -RemoveTestFile True -OutputFormat Out-GridView

จะวัดประสิทธิภาพการจัดเก็บข้อมูลและ IOPS บน Windows ได้อย่างไร

ลองพิจารณาข้อโต้แย้งของสคริปต์:

  • –TestFileName test.dat – ชื่อของไฟล์ที่สร้างโดยเครื่องมือ FSUTIL;
  • –TestFileSizeInGB 1 – ขนาดไฟล์ทดสอบ ค่าที่เป็นไปได้คือ 1.5, 10, 50, 100, 500, 1,000 GB ขนาดไฟล์ต้องมีขนาดใหญ่กว่าขนาดแคชของระบบจัดเก็บข้อมูล มิฉะนั้น IOPS จะถูกวัดสำหรับข้อมูลแคช แทนที่จะเป็นดิสก์
  • -TestFilepath C:\Temp – ที่นี่คุณระบุดิสก์เพื่อวัดประสิทธิภาพและโฟลเดอร์บนดิสก์ซึ่งไฟล์ทดสอบจะถูกสร้างขึ้น คุณยังสามารถระบุเส้นทาง UNC ไปยังโฟลเดอร์แชร์เครือข่าย (SMB) ได้
  • -TestMode Get-LargeIO - การวัดอินพุต - เอาต์พุตมีสองตัวเลือก รับ SmallIO อนุญาตให้วัด IOPS และ Get-LargeIO วัดอัตราการถ่ายโอนข้อมูล ความแตกต่างระหว่างอาร์กิวเมนต์ SmallIO และ LargeIO อยู่ในขนาดบล็อก 8 KB และ 512 KB ขณะวัดอัตรา และประเภทการเข้าถึง สุ่มหรือตามลำดับ ตามลำดับ
  • -FastMode True – ใน Fastmode การทดสอบแต่ละครั้งใช้เวลา 10 วินาที มิฉะนั้นจะใช้เวลา 60 วินาที
  • -RemoveTestFile True – ลบไฟล์ทดสอบหลังจากการทดสอบสิ้นสุดลง
  • -OutputFormat Out-GridView – ผลการทดสอบสามารถแสดงผลได้ทั้งในคอนโซล PowerShell (Format-Table ) หรือในหน้าต่างแผนภูมิกราฟิกแยกต่างหาก (Out-Gridview )

จะวัดประสิทธิภาพการจัดเก็บข้อมูลและ IOPS บน Windows ได้อย่างไร

ในกรณีของเรา (ใช้ดิสก์เสมือน vmdk บน VMFS datastore บน HP MSA 2040 ที่เชื่อมต่อผ่าน SAN) อาร์เรย์ของดิสก์แสดงค่า IOPS เฉลี่ยประมาณ 15,000 และอัตราการส่งข้อมูล (ทรูพุต) ประมาณ 5 Gbit/s .

ในตารางต่อไปนี้ ค่า IOPS โดยประมาณสำหรับดิสก์ประเภทต่างๆ จะแสดง:

ประเภท IOPS
SSD(SLC) 6000
SSD(MLC) 1000
15K รอบต่อนาที 175-200
10K รอบต่อนาที 125-150
7.2K รอบต่อนาที 50-75
Raid5 จาก 6 ไดรฟ์ที่มี 10K RPM 1000

ฉันพบคำแนะนำบางประการเกี่ยวกับประสิทธิภาพของดิสก์ใน IOPS สำหรับบริการยอดนิยมของ Microsoft:

  1. Microsoft Exchange 2010 ด้วยผู้ใช้ 5,000 ราย แต่ละรายได้รับ 75 และส่งอีเมล 30 ฉบับต่อวัน โดยจะต้องมี IOPS อย่างน้อย 3,750 ฉบับ
  2. เซิร์ฟเวอร์ Microsoft SQL 2008 ด้วยธุรกรรม 3,500 SQL ต่อวินาที (TPS) ต้องการ 28,000 IOPS;
  3. แอปพลิเคชันเซิร์ฟเวอร์ Windows ทั่วไป สำหรับผู้ใช้ 10-100 รายต้องใช้ 10-40 IOPS