DiskSpd
DiskSpd เป็นเครื่องมือประสิทธิภาพการจัดเก็บข้อมูลจากทีมวิศวกรรมโครงสร้างพื้นฐาน Windows, Windows Server และ Cloud Server ที่ Microsoft โปรดไปที่ https://github.com/Microsoft/diskspd/wiki เพื่อดูเอกสารที่อัปเดต
นอกเหนือจากตัวเครื่องมือแล้ว พื้นที่เก็บข้อมูลนี้ยังโฮสต์เฟรมเวิร์กการวัดซึ่งใช้ DiskSpd ตัวอย่างเริ่มต้นคือ VM Fleet ซึ่งใช้สำหรับสภาพแวดล้อม Windows Server Hyper-Converged ที่มี Storage Spaces Direct
โครงการนี้ได้นำหลักจรรยาบรรณของ Microsoft Open Source มาใช้ สำหรับข้อมูลเพิ่มเติม โปรดดูคำถามที่พบบ่อยเกี่ยวกับจรรยาบรรณหรือติดต่อ [email protected] หากมีคำถามหรือความคิดเห็นเพิ่มเติม
ข่าวประชาสัมพันธ์
หน้าการเผยแพร่ประกอบด้วย ไบนารีที่คอมไพล์ล่วงหน้า (ZIP) และซอร์สโค้ด สำหรับเครื่องมือ DiskSpd รุ่นล่าสุด สามารถดาวน์โหลดการอัปเดตล่าสุดของ DiskSpd ได้จาก https://github.com/Microsoft/diskspd/releases/latest/download/DiskSpd.zip (หรือที่รู้จักในชื่อ https://aka.ms/getdiskspd)
มีอะไรใหม่?
DISKSPD
DISKSPD 2.2 3/6/2567
หมายเหตุ: การเปลี่ยนแปลงลูป IO แบบอะซิงโครนัสจะต้องอาศัยผลลัพธ์การปรับฐานใหม่โดยมีความลึกของคิวมากกว่า 1 การออกแบบใหม่ระบายคิวที่เสร็จสมบูรณ์มากขึ้น ลดความล่าช้าที่ส่งผลต่อการวัดเวลาแฝง โดยเฉพาะอย่างยิ่งในพื้นที่จัดเก็บข้อมูลที่เร็วกว่าซึ่งกำหนดเป้าหมายไปที่ความลึกของคิวที่สูงขึ้น การวัดเวลาแฝงได้รับการปรับปรุงโดยใช้อัตราต้นทุนที่น้อยมาก เช่นเดียวกับการปรับปรุงอัตราเมื่อไม่ได้ใช้การวัดเวลาแฝง ( -D
หรือ -L
) เนื่องจากการตัดคิวเป็นชุด
ขนาด IO ที่เล็กลงจะเห็นการเปลี่ยนแปลงมากที่สุด
- ใหม่: เพิ่มซ็อกเก็ต, NUMA, Core และ Power Efficiency Class (คอร์ใหญ่/เล็ก) ในการรายงานโทโพโลยีโปรเซสเซอร์ (XML และเอาต์พุตข้อความ)
- องค์ประกอบโทโพโลยีจะแสดงเฉพาะในผลลัพธ์ข้อความเมื่อมี > 1 อยู่ (เช่น ระบบหลายซ็อกเก็ต)
- การกำหนดหมายเลข CPU ยังคงสัมพันธ์กันเป็นกลุ่ม เช่นเดียวกับการกำหนดหมายเลข Core ใหม่
- ระดับประสิทธิภาพการใช้พลังงานสูงสุดจะถูกทำเครื่องหมายด้วยส่วนต่อท้าย
P
(โดยปกติจะเป็น 1P
v. 0
) - หมายเหตุ : ระดับประสิทธิภาพสามารถมีผลกระทบที่สำคัญ งานบนระบบที่ต่างกัน จะต้อง คำนึงถึงคุณสมบัติหลักร่วมกับกฎความสัมพันธ์ของเธรด (ดู
-a
และ -n
)
- ใหม่: การรายงานโครงการพลังงานที่ใช้งานอยู่
- ใหม่: สวิตช์ออฟเซ็ตเป้าหมายฐานอนุญาตให้มีข้อกำหนดช่วง:
-Bbase[:length]
; แทนที่ -B
และ -f
- การประมวลผลฮิสโตแกรมเวลาแฝงหลังการทำงานเร็วขึ้นอย่างเห็นได้ชัด
- เอาต์พุตแบบละเอียดมีความสม่ำเสมอมากขึ้น รวมถึงช่วงวอร์มอัพจริง การวัด และช่วงคูลดาวน์ v. ที่คาดไว้
ไบนารี่รีลีสรองรับ Windows 8 และ Windows Server 2012; ตอนนี้ใช้ Universal CRT
DISKSPD 2.1 1 ก.ค. 2564
- รูปแบบใหม่
-gi
อนุญาตให้มีข้อกำหนดขีดจำกัดปริมาณงานในหน่วยของ IOPS (ต่อขนาดบล็อกที่ระบุ) - ใหม่
-rs
เพื่อระบุการดำเนินการสุ่ม/ลำดับแบบผสม (สุ่ม pct); การกระจายทางเรขาคณิตของความยาววิ่ง - ใหม่
-rd
เพื่อระบุการกระจาย IO ที่ไม่สม่ำเสมอข้ามเป้าหมาย-
pct
ตามเปอร์เซ็นต์เป้าหมาย -
abs
โดยการชดเชยสัมบูรณ์
- ใหม่
-Rp
เพื่อแสดงพารามิเตอร์ที่ระบุที่ตั้งค่าในรูปแบบเอาต์พุตโปรไฟล์ที่ระบุ ทำงานร่วมกับโปรไฟล์ -X XML และบรรทัดคำสั่งทั่วไป - ผลลัพธ์/โปรไฟล์ XML มีการเยื้องไว้เพื่อความสะดวกในการตรวจสอบ
- การอัปเดตผลลัพธ์ข้อความ
- ตอนนี้แสดงค่าในหน่วยขนาด (K/M/G และตอนนี้ TiB) เป็นทศนิยมสองตำแหน่ง
- การก้าวเดินของเธรดจะไม่แสดงอีกต่อไปเว้นแต่จะระบุไว้
- แสดงพารามิเตอร์เธรดพูล -F/-O
- ขณะนี้คุณสามารถสร้างโปรไฟล์ XML แบบทั่วไปได้มากขึ้น
- สามารถระบุโปรไฟล์ XML ในรูปแบบของชื่อเป้าหมายเทมเพลต (*1, *2) แทนที่ตามลำดับจากการเรียกใช้บรรทัดคำสั่ง
- บรรทัดคำสั่งตอนนี้อนุญาตให้มีตัวเลือกควบคู่ไปกับ -X: -v, -z, -R และ -W/-d/-C พร้อมกับข้อกำหนดเป้าหมายเทมเพลต
DISKSPD 2.0.21a 21/9/2018
- เพิ่มการรองรับหน่วยความจำที่แมป I/O:
- ตัวเลือกใหม่
-Sm
เพื่อเปิดใช้งาน I/O ที่แมปหน่วยความจำ - ตัวเลือกใหม่
-N
เพื่อระบุตัวเลือกฟลัชสำหรับหน่วยความจำที่แมป I/O
- เพิ่มการสนับสนุนสำหรับการจัดหาเหตุการณ์การติดตามเหตุการณ์สำหรับ Windows (ETW)
- รวมโปรไฟล์ Windows Performance Recorder (WPR) เพื่อเปิดใช้งานการติดตาม ETW
- เพิ่มข้อมูลระบบลงในเอาต์พุต ResultParser
DISKSPD 2.0.20a 28/2/2018
- การเปลี่ยนแปลงที่อาจต้องมีการปรับฐานผลลัพธ์ใหม่:
- ตัวสร้างตัวเลขสุ่มใหม่ที่อาจแสดงต้นทุนที่ลดลงที่สังเกตได้
- เปลี่ยนเป็นบัฟเฟอร์ที่จัดแนวขนาด 512 ไบต์พร้อมตัวเลือก
-Z
เพื่อเพิ่มประสิทธิภาพ
- อ็อพชัน
-O
ใหม่สำหรับการระบุจำนวนคำร้องขอ IO ที่ค้างชำระต่อเธรด - ตัวเลือกใหม่
-Zr
สำหรับการสุ่มต่อ IO ของเนื้อหาบัฟเฟอร์การเขียน - XML: เพิ่มองค์ประกอบ
ใหม่เพื่อรองรับโครงร่างการถ่วงน้ำหนักเป้าหมาย - สถิติที่ได้รับการปรับปรุงที่บันทึกจากข้อมูล IOPS
- เพิ่มการรองรับสำหรับการตรวจสอบโปรไฟล์ XML โดยใช้ XSD ในตัว
- เพิ่มการรองรับการจัดการโวลุ่ม RAW
- อัปเดตสถิติ CPU เพื่อทำงานบนระบบ > 64-core
- อัปเดตการคำนวณและความแม่นยำของสถิติ CPU
- เปิดใช้งานการสนับสนุนสถิติ ETW อีกครั้ง
DISKSPD 2.0.18a 31/5/2559
- อัปเดต
/?
ตัวอย่างการใช้ -Sh
v. เลิกใช้แล้ว -h
- แก้ไขการดำเนินการกับวอลุ่มบนสื่อที่แบ่งพาร์ติชัน GPT (:)
- แก้ไขคำใบ้ลำดับความสำคัญของ IO เพื่อการจัดตำแหน่งสแต็กที่เหมาะสม (หากไม่ใช่ 8 ไบต์จะล้มเหลว)
- ใช้สัญกรณ์ iB เพื่อชี้แจงว่าเอาต์พุตผลลัพธ์ข้อความอยู่ในหน่วย 2^n (KiB/MiB/GiB)
DISKSPD 2.0.17a 5/01/2016
-
-S
ได้รับการขยายเพื่อควบคุมการเขียนผ่านโดยไม่ขึ้นกับแคชระบบปฏิบัติการ/ซอฟต์แวร์ เหนือสิ่งอื่นใด สิ่งนี้อนุญาตให้ระบุการเขียนผ่านบัฟเฟอร์ ( -Sbw
) - XML: เพิ่มองค์ประกอบใหม่
เพื่อระบุการเขียนผ่าน - XML:
จะไม่ถูกปล่อยออกมาอีกต่อไป (ยังคงแยกวิเคราะห์อยู่) เพื่อสนับสนุนหรือ
และ
- เอาต์พุตข้อความ: ขณะนี้แคชระบบปฏิบัติการ/ซอฟต์แวร์และสถานะการเขียนผ่านได้รับการจัดทำเอกสารแยกกัน (บรรทัดที่อยู่ติดกัน)
- ขณะนี้ฮิสโตแกรมเวลาในการตอบสนองรายงานเป็น 9-nines (ส่วนหนึ่งในหนึ่งพันล้าน) ทั้งในเอาต์พุตข้อความและ XML
- เพิ่มข้อความแสดงข้อผิดพลาดสำหรับความล้มเหลวในการเปิดไฟล์ต้นฉบับเนื้อหาการเขียน (
-Z,
)
วีเอ็ม ฟลีท
VM Fleet เป็นการกำหนดคุณลักษณะด้านประสิทธิภาพและเฟรมเวิร์กนักวิเคราะห์สำหรับการสำรวจความสามารถในการจัดเก็บข้อมูลของสภาพแวดล้อม Windows Server Hyper-Converged ด้วย Storage Spaces Direct
VM Fleet 2.1.0.0 3/4/2024
- รองรับการจัดการ Arc VM (ใช้ได้กับคลัสเตอร์ที่จัดการโดย Arc เท่านั้น)
-
Set-FleetRunProfileScript
- สร้างสคริปต์ที่รันฟรีโดยอิงตามหนึ่งในโปรไฟล์ปริมาณงานที่กำหนดไว้ -
Watch-FleetCPU
- การสนับสนุนใหม่สำหรับการตรวจสอบการใช้งาน VCPU ของแขก (-Guest); สามารถจัดการข้อมูลขัดข้องได้ - แก้ไข: การจัดการตัวนับประสิทธิภาพในขณะนี้จัดการการเลื่อนข้อมูลเป็นระยะ ๆ (ต่อ relog.exe ทั่วไป)
- การแก้ไข: ขณะนี้การตรวจสอบสภาพ vm ที่ทำงานกลางระบบจัดการกับความเป็นไปได้ที่ vms จำนวนมากจะใช้เวลารันไทม์นานกว่าที่ตั้งใจไว้ในการตรวจสอบ ทางออกก่อนเวลาเพื่อหลีกเลี่ยงความล้มเหลวที่ผิดพลาด
- แก้ไข: ละเว้นการบ่งชี้ที่จำเป็นในการรีบูตจากเลเยอร์แคชเมื่อเปลี่ยนพฤติกรรมแคช หลีกเลี่ยงความล้มเหลวที่ผิดพลาด
VM Fleet 2.0.2.2 1/12/2021
- แก้ไขปัญหาระยะไกลของคลัสเตอร์ระหว่าง New-Fleet ที่เกิดจากการทำงาน 2.0.2.1
- ใช้การบันทึกเวลาประทับใน New-Fleet ลดความซับซ้อนและลดสีเอาต์พุตเริ่มต้น
VM Fleet 2.0.2.1 9/11/2021
- แก้ไขปัญหาระยะไกลของคลัสเตอร์ใน Move-Fleet และ Get-FleetDataDiskEstimate
- แก้ไขปัญหาเรื่องเวลาด้วย Start-FleetSweep; เริ่มต้นจากการหยุดยานพาหนะชั่วคราวเสมอเพื่อหลีกเลี่ยงการเรียกใช้ฟรี
- ใช้เอกลักษณ์เพื่อรับประกันว่า Start-FleetSweep จะรันโปรไฟล์ในกรณีที่ทำซ้ำ
VM Fleet 2.0.2 2/11/2021
- การทำงานของโฮสต์ Windows Server 2019/RS5 ได้รับการยืนยันและรองรับแล้ว
- การอ่านแคชอุ่นเครื่องสำหรับระบบความจุ HDD ควรเร็วขึ้นแล้ว
Set-FleetPause
จะรอการตอบสนองของ VM ก่อนที่จะเสร็จสิ้นตามค่าเริ่มต้น (ดู -หมดเวลา)
การแก้ไขเล็กๆ น้อยๆ หลายประการ ได้แก่:
- ปิดใช้งานคอนโซลการกู้คืนของ Windows ใน VM ฟลีต
- แก้ไข: มุมมอง
Show-Fleet
IOPS จะรวมอุปกรณ์ดิสก์ VM ทั้งหมด - แก้ไข: ทำความสะอาดตัวรวบรวมข้อมูลที่รั่วไหล/ขัดแย้งและ blg โดยอัตโนมัติ
VM Fleet 2.0 22/9/2021
- รุ่นหลักและเขียนใหม่เป็นโมดูล Powershell คลาสแรก
- VM Fleet ที่ใช้สคริปต์ดั้งเดิมยังคงมีอยู่ที่ Frameworks/VMFleet1.0
- ดูเอกสารประกอบในวิกิ
ซอร์สโค้ด
ซอร์สโค้ดสำหรับ DiskSpd โฮสต์บน GitHub ที่:
https://github.com/Microsoft/diskspd
สามารถรายงานปัญหาใดๆ เกี่ยวกับ DiskSpd ได้โดยใช้ลิงก์ต่อไปนี้:
https://github.com/Microsoft/diskspd/issues