มีหลายสิ่งที่เกิดขึ้นที่นี่
ประการแรกเทคโนโลยีดิสก์ที่ทันสมัยทั้งหมดได้รับการปรับให้เหมาะสำหรับการถ่ายโอนจำนวนมาก หากคุณต้องการย้ายข้อมูล 100MB พวกเขาจะทำเร็วกว่ามากหากอยู่ในหนึ่งบล็อกต่อเนื่องแทนที่จะกระจัดกระจายไปทั่ว SSD ช่วยได้มากที่นี่ แต่ถึงแม้ว่าพวกเขาจะต้องการข้อมูลในบล็อกที่ต่อเนื่องกัน
ประการที่สองการกู้คืนค่อนข้างดีที่สุดเท่าที่การใช้งานดิสก์ดำเนินไป คุณอ่านกลุ่มข้อมูลขนาดใหญ่ที่ต่อเนื่องกันจากดิสก์ตัวหนึ่งทำซีพียูเร็ว ๆ จากนั้นเขียนมันใหม่ในกลุ่มก้อนขนาดใหญ่ที่ต่อเนื่องกันไปยังดิสก์อื่น หากไฟฟ้าไม่ผ่านก็ไม่เป็นไรคุณจะไม่สนใจข้อมูลใด ๆ ที่มีการตรวจสอบที่ไม่ดีและดำเนินการตามปกติ
ประการที่สามการลบไฟล์นั้นช้ามาก ZFS ไม่ดีเป็นพิเศษ แต่ในทางปฏิบัติระบบไฟล์ทั้งหมดจะลบได้ช้า พวกเขาจะต้องปรับเปลี่ยนข้อมูลจำนวนมากบนดิสก์และเวลาอย่างถูกต้อง (เช่นรอ) ระบบไฟล์จึงไม่เสียหายหากไฟฟ้าดับ
เป็นไปได้อย่างไรที่การคืนค่าอาร์เรย์ทั้งหมดใช้เวลาหนึ่งชั่วโมง แต่การลบจากดิสก์ใช้เวลา 4 วัน
การ Resilvering เป็นสิ่งที่ดิสก์ทำงานได้อย่างรวดเร็วและการลบคือสิ่งที่ดิสก์ทำงานช้า ต่อเมกะไบต์ของดิสก์คุณจะต้องทำการ resilvering เล็กน้อย คุณอาจมีไฟล์หนึ่งพันไฟล์ในพื้นที่นั้นซึ่งจำเป็นต้องลบทิ้ง
การลบ 70 ครั้ง / วินาทีดูเหมือนว่าจะทำงานได้แย่มาก
มันขึ้นอยู่กับ. ฉันจะไม่แปลกใจกับสิ่งนี้ คุณยังไม่ได้กล่าวถึงประเภทของ SSD ที่คุณใช้ Intel และ Samsung SSD รุ่นใหม่นั้นใช้งานได้ดี (อ่าน - แก้ไข - เขียน) และจะทำงานได้ดีขึ้น SSD ที่ถูกกว่า / เก่ากว่า (เช่น Corsair) จะช้า จำนวนการดำเนินการ I / O ต่อวินาที (IOPS) เป็นปัจจัยกำหนดที่นี่
ZFS เป็นช้าโดยเฉพาะอย่างยิ่งที่จะลบสิ่ง โดยปกติจะทำการลบในพื้นหลังเพื่อให้คุณไม่เห็นความล่าช้า หากคุณกำลังทำอยู่เป็นจำนวนมากมันจะไม่สามารถซ่อนมันได้
ภาคผนวก: ทำไมการลบจึงช้า
- การลบไฟล์ต้องใช้หลายขั้นตอน ข้อมูลเมตาของไฟล์จะต้องทำเครื่องหมายเป็น 'ลบ' และในที่สุดจะต้องเรียกคืนเพื่อให้สามารถนำพื้นที่ว่างมาใช้ใหม่ได้ ZFS เป็น 'ระบบโครงสร้างไฟล์บันทึก' ซึ่งทำงานได้ดีที่สุดหากคุณสร้างสิ่งต่าง ๆ เท่านั้นไม่ต้องลบทิ้ง โครงสร้างบันทึกหมายความว่าถ้าคุณลบบางอย่างมีช่องว่างในบันทึกและข้อมูลอื่น ๆ จะต้องถูกจัดเรียงใหม่ (จัดเรียงข้อมูล) เพื่อเติมเต็มช่องว่าง สิ่งนี้ไม่ปรากฏแก่ผู้ใช้ แต่โดยทั่วไปจะช้า
- การเปลี่ยนแปลงจะต้องทำในลักษณะที่ถ้ากำลังจะล้มเหลวบางส่วนผ่านระบบแฟ้มยังคงสอดคล้อง บ่อยครั้งสิ่งนี้หมายถึงการรอจนกว่าดิสก์จะยืนยันว่าข้อมูลอยู่ในสื่อจริงๆ สำหรับ SSD ที่ใช้เวลานาน (หลายร้อยมิลลิวินาที) ผลกระทบสุทธิจากสิ่งนี้คือมีการทำบัญชีมากขึ้น (เช่นการทำงานของดิสก์ I / O)
- การเปลี่ยนแปลงทั้งหมดมีขนาดเล็ก แทนที่จะต้องอ่านเขียนและลบทั้งบล็อกแฟลช (หรือกระบอกสูบสำหรับดิสก์แม่เหล็ก) คุณต้องปรับเปลี่ยนสักเล็กน้อย ในการทำเช่นนี้ฮาร์ดแวร์จะต้องอ่านทั้งบล็อกหรือรูปทรงกระบอกแก้ไขในหน่วยความจำแล้วเขียนลงสื่อบันทึกอีกครั้ง ใช้เวลานาน