อยาก beef up Windows PC? คุณ boost software performance และ storage reliability ได้ด้วยสองเทคโนโลยี: Redundant Array of Independent Drives (RAID) และ Microsoft's Resilient File System (ReFS) ข้อกำหนดเดียวคือ ต้องมี spare drives อย่างน้อยสองตัว
สงสัยว่า ReFS ทำงานเท่า NTFS ที่เก่าแก่ไหม? บทความนี้เปรียบเทียบ performance ของ file system ใหม่ของ Microsoft กับ RAID1, RAID0, และ single disk performance และอภิปราย possible uses สำหรับ RAID1-ReFS
เริ่มต้นกับ RAID
การสร้าง RAID volume ตอนนี้ง่ายมากด้วย Windows Storage Spaces ผู้ใช้แค่ พิมพ์ Storage Spaces ใน Search bar และเปิดโปรแกรม
หลังเปิด Storage Spaces ต้อง กดปุ่ม Change settings
จากนั้นสร้าง storage pool เลือก Create a storage เลือก spare drives สองตัวเพิ่มใน array สำคัญ: การเพิ่มหรือลบ drive จาก volume จะทำลายข้อมูลทั้งหมดบนดิสก์ จงระวัง
จะเห็น configurable options สำหรับสร้าง storage pool สองส่วนสำคัญ: (1) Resiliency type และ (2) File system Resiliency type ด้วยสอง drives จำกัดเป็น Two-way mirror (RAID1) และ Simple (RAID0) Partition type มี NTFS และ ReFS หากเลือก Simple ตัวเลือกเดียวคือ NTFS เพราะ ReFS ออกแบบสำหรับสอง drives ขึ้นไป
หลังสร้าง RAID volume และ assign drive letter partition ทำงานคล้าย hard disk ผู้ใช้ share drive ผ่าน network, ย้ายไฟล์ไป, หรือตั้งค่า video/photo editing software ให้เขียน cache data ไปที่นี่ ในความจํานี้ RAID ปรับปรุง performance ของ commercial applications ได้ เช่น Adobe Premiere และ Photoshop ตามที่ระบุ software RAID ประเภทต่างๆ มี advantages และ disadvantages
ภายใน Windows OS มี three primary types ของ consumer RAID: RAID1, RAID0, RAID5 (มี RAID variations อื่นเยอะ) นอกจากนี้มี two common ways format RAID: NTFS และ Resilient File System (ReFS) ReFS มาใน Windows 8.1 และยัง evolve อยู่ แตเสนอ reliability และ performance
Windows RAID Types
- RAID0: RAID0 เป็น misnomer ทางเทคนิค ใช้สอง drives แตไม่มีอะไร redundant แต่ละ drive เก็บครึ่งหนึ่งของข้อมูล แทน redundancy RAID0 ให้ pure performance RAID0 format ReFS ไม่ได้ ติด NTFS
- RAID1: RAID1 หรือ mirroring ต้องการสอง drives ข้อเสียคือให้ storage capacity เพียงหนึ่ง drive ข้อมูล copy เท่าๆ กันทั้งสอง drives ให้ redundancy หากดิสก์หนึ่งมีปัญหา RAID1 ยังเร่ง disk reads ได้ ทำให้ launch programs เร็วขึ้นและ reads จาก cache เร็วขึ้น
- RAID5: ไม่ครอบคลุม RAID5 ในบทความนี้ ต้องการ drives อย่างน้อยสาม ตัว แตให้ available storage capacity มากกว่า RAID1
Windows File System Types
สอง file systems สำคัญใน Windows 10 คือ Resilient File System (ReFS) และ "New" Technology File System (NTFS) ที่เก่าแก่ NTFS เป็น standard file system บน Windows แตหากคุณมี spare hard drives สองตัวขึ้นไป (identical หรือ very similar) พิจารณาใช้ ReFS ReFS ลด bit-rot ทำให้ ideal สำหรับ format storage systems และ yield performance คล้าย NTFS-formatted RAID1 partition แม้ ReFS จะใหม่และอาจมี bugs ประสบการณ์ของผมดีเยี่ยม
The RAID Benchmarks (การวัดประสิทธิภาพ RAID)
Drive performance ส่งผลต่อ computing tasks หลายอย่างบน Windows โดยเฉพาะ browsing Internet บ่อยครั้ง read/write data ไป browser cache หาก cache อยู่บน slow disk browser รู้สึก less snappy ไม่เหมือนอยู่บน fast SSD (SSD คืออะไร?) นั่นคือเหตุผลที่ benchmark hard drives
เพื่อกำหนด array และ file system ไหนเร็วที่สุด ผมประกอบ test machine ด้วย SATA dock และเสียบ OCZ Onyx SSDs เก่าสองตัว Benchmark สี่ RAID configurations: RAID1 (NTFS), RAID1 (ReFS), RAID0, และ single NTFS-formatted drive ใช้ AS-SSD สำหรับ synthetic benchmarks ทั้งหมด เปรียบเทียบกับ CrystalDiskMark เป็น secondary validation สุดท้าย รัน "real-world" tests หลายอย่างด้วย 7-Zip และ Handbrake (5 uses for Handbrake) Test ใช้ Android Studio as compiler ล้มเหลวทั้งหมด
Random Reads และ Random Writes (4KB)
RAID arrays ไม่ handle short queue depths ดี (ซึ่ง most users ต้องการ) ดังนั้นแนะนำไม่ใช้ RAID สำหรับ browsing หรือ office productivity มี ~9% advantage ใช้ single drive สำหรับ random reads มากกว่า disk configurations อื่น
สำหรับ write-speeds RAID0 dominate คู่แข่ง เกือบ 50% faster ทำ sense เพราะ RAID1 และ single drives copy data เท่าๆ กันทุก drives ในขณะที่ RAID0 แยก writes ระหว่างสอง drives
Sequential Reads และ Sequential Writes (4KB)
Sequential read-speeds บ่งชี้ disk copying activities ทุกครั้งที่ย้ายไฟล์ performance ดีกว่าควรแปลว่า file transfer เร็วขึ้น RAID1 ปรับปรุง sequential disk-reads อย่างมากกว่า single disks และ RAID0 ทฤษฎี RAID0 ควรปรับปรุง sequential disk-reads แต synthetic benchmark ไม่ support assumption นี้
Sequential reads และ writes emblematic ของ file copying ตามคาด RAID1-ReFS ทำแย่ที่สุดเพราะทำ checksums บนข้อมูลที่ copy แต performance hit ไม่ significant เฉพาะ RAID0 ทำงานต่ำกว่าคาดหวัง แตเร็วกว่า single drive และ RAID1-NTFS เล็กน้อย
Random Reads และ Random Writes (4KB, 64 Queue Depth)
Benchmarks deep queue depth รวม random reads/writes ควร predict server performance และ commercial applications ทฤษฎี RAID0 ควร (และ) ให้ fastest disk performance จากสี่ประเภท แต RAID1 ใกล้เคียงมากใน read speed และ ให้ data redundancy หาก RAID1 format ReFS สูญเสีย read speed น้อยมาก เทียบ NTFS
Write performance deep queue RAID0 dominate ทั้ง RAID1-NTFS และ RAID1-ReFS ต้องรับ insignificant performance penalty จาก overhead การ maintain array
Real World Performance (ประสิทธิภาพจริง)
Real-world performance ผลลัพธ์น่าสนใจน้อยกว่า ใน Handbrake encoding และ 7-Zip (unzip) RAID0 มี ~2-3% advantage สำหรับ zip โฟลเดอร์รูป 300MB ทุก arrays ทำงานแย่กว่า single drive 差 7% ระหว่าง single drive และ RAID1-ReFS
น่าเสียดายต้องทิ้งบาง data เช่น compiling from source code ให้ tremendous performance advantage ให้ RAID1-ReFS ความต่างใหญ่มากผม relatively certain ว่า methodology ผิดร้าย RAID1 เร็วเกือบสองเท่า single drive RAID0 ~20% performance increase over single drive ไม่รวม chart ต้อง rerun tests ยืนยัน อาจมีปัญหา build environment หรือ test methodology
Possible Applications for RAID in Windows (การประยุกต์ใช้ RAID ที่เป็นไปได้)
จาก benchmarks suitable applications สำหรับ RAID คือ:
- Cache/scratch drive สำหรับ photo และ video editing
- สร้าง network storage drive พร้อม data redundancy และ bit-rot protection
- Software storage drive
Cache/scratch drive: Intel's Rapid Storage Technology (RST) drivers ให้ users designate อีก drive เป็น cache drive ในความจํานี้ reads/writes เยอะ RAID0 array ให้ -- บนกระดาษ -- biggest advantage แต real-world benchmarks บ่งชี้ single SSD น่าจะให้ biggest performance gains
Network Storage Drive: การใช้ ReFS ที่ชัดเจนคือ storage drive Data integrity properties รวม large read-speed buffs ทำให้ great สำหรับ streaming media ผ่าน fast network (why you need 5GHz)
Software Storage Drive: ในการจัดเรียงนี้ users ติดตั้ง software ไปที่ RAID1 partition เนื่องจาก read-speed advantage, data redundancy, และ bit-rot protection RAID1 formatted with ReFS เป็น big upgrade over RAID1 formatted with NTFS แม้รับ minor performance hit เทียบ RAID1-NTFS gains ใน data integrity far offset shortcomings และใน production environment data-integrity buff อาจ worthwhile
RAID1-ReFS Is Really Good (RAID1-ReFS ดีจริง)
RAID array formatted ใน ReFS ต้องรับ small performance hit over NTFS — ซึ่งชัดเจนว่า worth the tradeoff แตผมไม่มี disks เพียงพอ test RAID configurations อื่นๆ (เช่น RAID5) ผลลัพธ์ RAID1 encouraging ผม assume ReFS จะ perform อย่างน้อยเท่าเดิมบน arrays อื่นๆ
ความคิดเห็นของผม: แม้ไม่ advertised as ready for production environments ในประสบการณ์ของผม ReFS ใช้ได้ optimal ใน storage systems และ as a software storage drive อาจทำ halfway decent cache drive ได้ด้วย
คุณเคยลองใช้ ReFS ไหม? ผลลัพธ์ยังไง?