วิธีประเมินประสิทธิภาพการจัดเก็บข้อมูลบน Linux: การเปรียบเทียบโดยใช้เครื่องมือแบบเปิด

В ครั้งสุดท้าย เราได้พูดคุยเกี่ยวกับเครื่องมือโอเพ่นซอร์สสำหรับประเมินประสิทธิภาพของโปรเซสเซอร์และหน่วยความจำ วันนี้เรากำลังพูดถึงการวัดประสิทธิภาพสำหรับระบบไฟล์และระบบจัดเก็บข้อมูลบน Linux - Interbench, Fio, Hdparm, S และ Bonnie

วิธีประเมินประสิทธิภาพการจัดเก็บข้อมูลบน Linux: การเปรียบเทียบโดยใช้เครื่องมือแบบเปิด
ภาพถ่าย — ดานิเอเล่ เลวิส เปลูซี — อันสแปลช

Fio

Fio (ย่อมาจาก Flex I/O Tester) สร้างดิสก์ I/O สตรีมเพื่อประเมินประสิทธิภาพของระบบไฟล์ Linux ยูทิลิตี้นี้ยังสามารถทำงานบน Windows ได้ - คุณต้องติดตั้งอินเทอร์เฟซบรรทัดคำสั่ง Cygwin. คู่มือการตั้งค่าอยู่ใน ที่เก็บ fio บน GitHub.

ผู้แต่ง fio - Jens Axbo (เจนส์ แอ็กซ์โบ), รับผิดชอบ สำหรับระบบย่อย IO ใน Linux และผู้พัฒนายูทิลิตี้ ติดตาม เพื่อติดตามการดำเนินการ I/O พระองค์ทรงสร้างฟิโอ เพราะฉันเหนื่อย เขียนโปรแกรมเพื่อทดสอบโหลดเฉพาะด้วยตนเอง

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

[global]
	name=fio-rand-read
	filename=fio-rand-read
	rw=randread
	bs=4K
	direct=0
	numjobs=1
	time_based=1
	runtime=900

ปัจจุบัน บริษัท ขนาดใหญ่ใช้ fio - พวกเขาทำงานร่วมกับยูทิลิตี้ใน SUSE, Nutanix и ไอบีเอ็ม.

Hdparm

ยูทิลิตี้นี้เขียนโดย Mark Lord ผู้พัฒนาชาวแคนาดาในปี 2005 เธอยังคง ได้รับการสนับสนุนจากผู้เขียน และเป็นส่วนหนึ่งของการแจกแจงยอดนิยมมากมาย วัตถุประสงค์หลักของ hdparm คือการกำหนดค่าพารามิเตอร์ของไดรฟ์ แต่เครื่องมือ หนึ่งสามารถ ใช้สำหรับการวัดประสิทธิภาพอย่างง่าย เช่น ความเร็วในการอ่าน หากต้องการทำสิ่งนี้ ให้เขียนคำสั่งในคอนโซล:

$ sudo hdparm -t /dev/sdb

ระบบจะสร้างการตอบสนองดังนี้:

Timing buffered disk reads: 242 MB in 3.01 seconds = 80.30 MB/sec

สำหรับการกำหนดค่าไดรฟ์ hdparm ช่วยให้คุณสามารถเปลี่ยนขนาดของหน่วยความจำแคช ปรับเปลี่ยนโหมดสลีปและการตั้งค่าพลังงาน รวมถึงลบข้อมูลบน SSD ได้อย่างปลอดภัย แต่อย่างไร เตือน ผู้เชี่ยวชาญจาก ArchLinux การเปลี่ยนแปลงพารามิเตอร์ระบบอย่างไม่ระมัดระวังอาจทำให้ข้อมูลบนดิสก์ไม่สามารถเข้าถึงได้และอาจทำให้ไดรฟ์เสียหายได้ ก่อนที่จะทำงานกับ hdparm ควรอ่านคู่มือก่อน - เพียงป้อนคำสั่ง man hdparm ในคอนโซล

S

นี่คือชุดเกณฑ์มาตรฐานสำหรับประเมินประสิทธิภาพของระบบ I/O ผู้เขียนยูทิลิตี้คือ ทีมพัฒนา จากกลุ่ม AlgoDev ซึ่งรวมถึงพนักงานชาวอิตาลีด้วย มหาวิทยาลัยโมเดนาและเรจจิโอ เอมิเลีย.

การวัดประสิทธิภาพทั้งหมดเป็นสคริปต์ทุบตี ผู้ประเมิน ประสิทธิภาพของระบบจัดเก็บข้อมูล - ปริมาณงาน เวลาแฝง ประสิทธิภาพตัวกำหนดตารางเวลา ตัวอย่างเช่น เกณฑ์มาตรฐาน Throughput-sync.sh “ระเบิด” ระบบจัดเก็บข้อมูลพร้อมคำขออ่านหรือเขียน (ในกรณีนี้ จะใช้ยูทิลิตี fio ที่กล่าวถึงแล้ว) ที่นี่ รหัสสำหรับสคริปต์นี้.

สคริปต์อื่น - comm_startup_lat.sh - วัดเวลาแฝงของการอ่านข้อมูลจากดิสก์เมื่อแคช "เย็น" (เมื่อไม่มีข้อมูลที่จำเป็น) รหัสด้วย สามารถพบได้ในที่เก็บ.

วิธีประเมินประสิทธิภาพการจัดเก็บข้อมูลบน Linux: การเปรียบเทียบโดยใช้เครื่องมือแบบเปิด
ภาพถ่าย — อาเก บาร์รอส — อันสแปลช

น่ารัก

ยูทิลิตี้สำหรับประเมินประสิทธิภาพของระบบไฟล์ พัฒนาขึ้นในปี 1989 ผู้เขียนคือวิศวกร ทิม เบรย์ ด้วยความช่วยเหลือจากบอนนี่ เขาจึงวางแผน เพิ่มประสิทธิภาพ การทำงานของระบบคอมพิวเตอร์ที่เกี่ยวข้องในโครงการ พจนานุกรมภาษาอังกฤษ Oxford ใหม่ ที่มหาวิทยาลัยวอเตอร์ลู

น่ารัก เติมเต็ม การอ่านและการเขียนข้อมูลลงดิสก์แบบสุ่ม หลังจากนั้นยูทิลิตี้จะแสดงพารามิเตอร์ เช่น จำนวนไบต์ที่ประมวลผลต่อ CPU วินาทีรวมถึงระดับโหลดของโปรเซสเซอร์เป็นเปอร์เซ็นต์ มีซอร์สโค้ดมาตรฐานให้เลือกใช้ ค้นหาใน Google Code.

จาก Bonnie มีการสร้างชุดเครื่องมืออีกชุดสำหรับการทดสอบฮาร์ดไดรฟ์ - บอนนี่++ (เขียนด้วยภาษา C++ แทน C) มีเครื่องมือวัดประสิทธิภาพเพิ่มเติม ตัวอย่างเช่น zcav เพื่อประเมินประสิทธิภาพของโซน HDD ที่แตกต่างกัน บอนนี่++ด้วย เหมาะสม สำหรับการทดสอบเมลเซิร์ฟเวอร์และเซิร์ฟเวอร์ฐานข้อมูล

อินเตอร์เบนช์

ได้พัฒนาอรรถประโยชน์ คอน โคลิวาส (Con Kolivas) วิสัญญีแพทย์ชาวออสเตรเลียผู้มีชื่อเสียงจากผลงานในการพัฒนาเคอร์เนล Linux และทำงานเกี่ยวกับ "ตัวกำหนดตารางเวลาตัวประมวลผลที่ยุติธรรม" Interbench ช่วยคุณกำหนดค่าตัวกำหนดเวลา I/O และการตั้งค่าระบบไฟล์

Interbench จำลองพฤติกรรมของตัวกำหนดเวลา CPU เมื่อดำเนินการงานแบบโต้ตอบ งานแบบโต้ตอบเหล่านี้สามารถทำงานกับเสียงและวิดีโอ รันเกมคอมพิวเตอร์ หรือเพียงแค่ลากกล่องโต้ตอบในระบบปฏิบัติการ

สามารถดูซอร์สโค้ด ตัวอย่าง และคำแนะนำสำหรับการกำหนดค่าเครื่องมือได้ใน พื้นที่เก็บข้อมูลอย่างเป็นทางการบน GitHub.

สิ่งที่เราเขียนเกี่ยวกับในบล็อกของเรา:

วิธีประเมินประสิทธิภาพการจัดเก็บข้อมูลบน Linux: การเปรียบเทียบโดยใช้เครื่องมือแบบเปิด เกณฑ์มาตรฐานสำหรับเซิร์ฟเวอร์ Linux: 5 เครื่องมือแบบเปิด

วิธีประเมินประสิทธิภาพการจัดเก็บข้อมูลบน Linux: การเปรียบเทียบโดยใช้เครื่องมือแบบเปิด การสำรองไฟล์: วิธีป้องกันข้อมูลสูญหาย
วิธีประเมินประสิทธิภาพการจัดเก็บข้อมูลบน Linux: การเปรียบเทียบโดยใช้เครื่องมือแบบเปิด จะถ่ายโอนฮาร์ดไดรฟ์ระบบไปยังเครื่องเสมือนได้อย่างไร?
วิธีประเมินประสิทธิภาพการจัดเก็บข้อมูลบน Linux: การเปรียบเทียบโดยใช้เครื่องมือแบบเปิด การฝึกอบรมสำหรับผู้ดูแลระบบ: คลาวด์สามารถช่วยได้อย่างไร

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

ที่มา: will.com

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