NVMe ช่วยภาระงานที่ไวต่อ I/O ได้ แต่ก่อนอื่นยืนยันว่าแอปพลิเคชันกำลังรอการจัดเก็บ เปรียบเทียบความหน่วง ภาวะพร้อมกัน และเวลาของแอปพลิเคชันที่เป็นตัวแทน ป้ายชื่อโปรโตคอลที่เร็วกว่าไม่ได้แก้ปัญหาคอขวดทั้งหมด
ประสิทธิภาพการจัดเก็บไม่ใช่แค่ตัวเลขการรับส่ง
เมื่อแอปพลิเคชันรู้สึกช้า เป็นเรื่องน่าดึงดูดที่จะซื้อการจัดเก็บที่เร็วกว่าทันที ก่อนอื่นให้ค้นหาว่าแอปพลิเคชันกำลังรออะไร ฐานข้อมูลที่ค้นหาบันทึกขนาดเล็กจำนวนมากมีรูปแบบการเข้าถึงต่างจากบริการที่อ่านไฟล์เก็บถาวรขนาดใหญ่หนึ่งไฟล์ มาตรวัดที่มีประโยชน์ ได้แก่ เวลาตอบสนองของการดำเนินการแต่ละรายการ จำนวนการดำเนินการที่เสร็จสมบูรณ์ และปริมาณข้อมูลที่รับส่งต่อเนื่อง
NVMe เป็นโปรโตคอลการจัดเก็บที่ออกแบบรอบสื่อโซลิดสเตตและ I/O แบบขนานที่มีประสิทธิภาพ สามารถให้ข้อได้เปรียบเหนืออินเทอร์เฟซการจัดเก็บรุ่นเก่า โดยเฉพาะเมื่อมีการดำเนินการจำนวนมากเกิดขึ้นพร้อมกัน ชื่อโปรโตคอลอธิบายความสามารถของเส้นทางการจัดเก็บ ไม่ใช่คำสัญญาว่าทุกคำขอของแอปพลิเคชันจะเสร็จเร็วขึ้น
ค้นหางานที่ไปถึงดิสก์
ดูที่คิวรีฐานข้อมูล แคชพลาด การประมวลผลอัปโหลด ดัชนีค้นหา และอาร์ติแฟกต์บิลด์ หากแอปพลิเคชันรอการอ่านดิสก์หรือการเขียนที่ทนทานซ้ำ ๆ การจัดเก็บอาจเป็นข้อจำกัดที่มีนัยสำคัญ หากมันรอ API ระยะไกล หรือใช้เวลาส่วนใหญ่ทำงาน CPU การเปลี่ยนสื่อจัดเก็บอาจมีผลต่อความล่าช้าที่มองเห็นได้น้อย
หน่วยความจำสามารถเปลี่ยนความต้องการการจัดเก็บได้เช่นกัน ชุดข้อมูลทำงานที่พอดีกับแคชที่เหมาะสมอาจหลีกเลี่ยงการอ่านจำนวนมาก การทำดัชนีที่ดีขึ้นหรือการลบคิวรีซ้ำอาจลด I/O ได้อย่างมีประสิทธิภาพมากกว่าการอัปเกรดฮาร์ดแวร์ มองการเปลี่ยนแปลงซอฟต์แวร์และตัวเลือกทรัพยากรเป็นส่วนหนึ่งของการตรวจสอบเดียวกัน
วัดภาระงานที่เป็นตัวแทน
การทดสอบคัดลอกแบบลำดับมีประโยชน์สำหรับไฟล์ขนาดใหญ่ แต่ไม่ได้อธิบายภาระงานฐานข้อมูลทั้งหมด บันทึกขนาดการดำเนินการ สัดส่วนการอ่านต่อการเขียน และภาวะพร้อมกันที่เป็นตัวแทนของโครงการ ทำให้ชุดข้อมูลและเงื่อนไขการทดสอบเทียบเคียงได้ ผลลัพธ์จากเครื่องที่ว่างเป็นส่วนใหญ่อาจแตกต่างจากที่ได้ระหว่างการปรับใช้หรือช่วงสำรองข้อมูลที่ยุ่ง
วัดแอปพลิเคชันเช่นเดียวกับอุปกรณ์ เวลาตอบสนองของคำขอ ระยะเวลางานเบื้องหลัง และมาตรวัดการรอของฐานข้อมูลเชื่อมโยงการเปลี่ยนแปลงโครงสร้างพื้นฐานกับประสบการณ์ผู้ใช้ ทำให้การทดสอบไม่ทำลายข้อมูลและอยู่ในสภาพแวดล้อมที่คุณได้รับอนุญาต อย่าสร้างโหลดที่ไม่ควบคุมกับบริการของบุคคลที่สามเพื่อสร้างการเปรียบเทียบ
เหลือพื้นที่สำหรับงานบำรุงรักษา
เลือกความจุให้เพียงพอต่อการเติบโตและการดำเนินการชั่วคราว การย้ายฐานข้อมูล การอัปเดตแพ็กเกจ การนำเข้า และงานบีบอัดอาจต้องใช้พื้นที่เกินขนาดชุดข้อมูลสุดท้าย แอปพลิเคชันที่เติมดิสก์จนเต็มระหว่างการบำรุงรักษาอาจล้มเหลวได้แม้การจัดเก็บจะเร็ว กำหนดขีดจำกัดและการเก็บรักษาสำหรับบันทึกและไฟล์ชั่วคราวก่อนที่它们จะกลายเป็นไดเรกทอรีที่ใหญ่ที่สุด
แยกดิสก์บูตออกจากความจุของบริการที่เน้นการจัดเก็บเมื่ออ่านข้อกำหนด วอลุ่มบูต NVMe ขนาดเล็กไม่ได้ทำให้พื้นที่จัดเก็บที่ใหญ่กว่ามากมีประสิทธิภาพเหมือนกัน อ่านคำอธิบายของส่วนประกอบการจัดเก็บแต่ละส่วนและขอคำชี้แจงเมื่อเลย์เอาต์ที่ตั้งใจไว้ไม่ชัดเจน
สถานการณ์จริง: รายงานที่อ่านบันทึกจำนวนมาก
สมมติว่าแอปพลิเคชันรายงานช้าเมื่ออ่านชุดบันทึกขนาดเล็กจำนวนมาก ทีมตรวจสอบแผนคิวรี พฤติกรรมแคช และการรอ I/O ก่อนเลือกโปรไฟล์การจัดเก็บอื่น พบการอ่านซ้ำที่ลดได้ด้วยการทำดัชนี แล้ววัดงานที่เหลืออยู่ วิธีนี้แยกการปรับปรุงซอฟต์แวร์ออกจากคำถามว่าเส้นทางการจัดเก็บยังจำกัดรายงานอยู่หรือไม่
สำหรับการเปรียบเทียบ ทีมใช้ชุดข้อมูลที่เป็นตัวแทนและบันทึกรูปแบบการอ่าน ขนาดการดำเนินการ และภาวะพร้อมกัน เปรียบเทียบเวลาที่แอปพลิเคชันเสร็จพร้อมกับความหน่วงของการจัดเก็บ แทนการพึ่งพาการคัดลอกไฟล์ขนาดใหญ่หนึ่งครั้ง การทดสอบสังเคราะห์ช่วยแยกข้อจำกัดได้ แต่รายงานจริงยืนยันว่าการเปลี่ยนแปลงเป็นประโยชน์ต่อเวิร์กโฟลว์หรือไม่ เงื่อนไขการทดสอบและกิจกรรมเบื้องหลังยังคงถูกบันทึกไว้เพื่อให้การรันครั้งอื่นมีความหมาย
ทีมยังกันพื้นที่สำหรับการส่งออกชั่วคราวและตรวจสอบการสำรองข้อมูลอิสระของตน ความตอบสนองของ NVMe ไม่ได้แทนที่การตัดสินใจเรื่องความจุและการกู้คืนเหล่านั้น หากรายงานยังถูกจำกัดโดยบริการภายนอกหรือขั้นตอนที่ใช้การประมวลผลหนักหนึ่งขั้น การอัปเกรดการจัดเก็บอาจไม่เปลี่ยนระยะเวลา สถานการณ์นี้แสดงวิธีการ ไม่ได้ให้ benchmark หรือความเร็วที่รับประกันสำหรับการกำหนดค่า SwissOctet
| คำถาม | ข้อสังเกตที่มีประโยชน์ | หลีกเลี่ยงข้อสรุปนี้ |
|---|---|---|
| การจัดเก็บเป็นข้อจำกัดหรือไม่ | การรอของแอปพลิเคชันและกิจกรรม I/O | ทุกคำขอที่ช้าต้องใช้ NVMe |
| การเปลี่ยนแปลงช่วยได้หรือไม่ | เวลาที่รายงานเสร็จเทียบเคียงได้ | ความเร็วแบบลำดับเท่ากับความเร็วฐานข้อมูล |
| ระบบกู้คืนได้หรือไม่ | การกู้คืนอิสระที่สำเร็จ | การจัดเก็บที่เร็วคือการสำรองข้อมูล |
แยกความทนทานออกจากความเร็ว
การจัดเก็บที่เร็วไม่ใช่การสำรองข้อมูล และไดรฟ์ภายในหลายตัวไม่ใช่ตำแหน่งกู้คืนอิสระ กำหนดว่าข้อมูลใดต้องอยู่รอดจากการลบโดยไม่ตั้งใจ การปรับใช้ที่ผิดพลาด หรือการสูญเสียเครื่อง เก็บคีย์การกู้คืนที่จำเป็นแยกต่างหากและทดสอบการกู้คืนเข้าสู่สภาพแวดล้อมที่แยกออก
ใช้ Pulse NVMe เมื่อทรัพยากรเหมาะสมกับโครงการที่ไวต่อ I/O หรือเปรียบเทียบการกำหนดค่า NVMe เฉพาะเมื่อคุณต้องการเครื่องจริงด้วย สำหรับไฟล์เก็บถาวรขนาดใหญ่ ประเมิน Vault Storage จากความจุและโปรไฟล์การรับส่ง เลือกจากหลักฐานเกี่ยวกับภาระงาน แล้วตรวจสอบผลลัพธ์หลังการปรับใช้ แทนการสมมติว่าป้ายกำกับแก้ปัญหาคอขวดทั้งหมด
รายการตรวจสอบปฏิบัติของคุณ
- ระบุการรอดิสก์ในแอปพลิเคชัน
- แยกความหน่วง การดำเนินการ และปริมาณงาน
- ทดสอบภาวะพร้อมกันและข้อมูลที่เป็นตัวแทน
- กันพื้นที่ว่างสำหรับการย้ายข้อมูลและการส่งออก
- เก็บการสำรองข้อมูลอิสระที่ผ่านการทดสอบ
รายละเอียดที่สำคัญ
NVMe เป็นตัวเลือกการจัดเก็บที่ดีที่สุดเสมอหรือไม่+
เลือกเมื่อโปรไฟล์ความจุและประสิทธิภาพเหมาะสมกับภาระงาน ไฟล์เก็บถาวรขนาดใหญ่และแอปพลิเคชันที่จำกัดด้วยการประมวลผลอาจมีลำดับความสำคัญอื่น
การทดสอบคัดลอกสามารถทำนายเวลาตอบสนองของฐานข้อมูลได้หรือไม่+
ไม่ใช่ด้วยตัวมันเอง ฐานข้อมูลอาจใช้ขนาดการดำเนินการ รูปแบบการเข้าถึง และพฤติกรรมการซิงโครไนซ์ที่ต่างกัน
NVMe ทำให้การสำรองข้อมูลสำคัญน้อยลงหรือไม่+
ไม่ใช่ ความเร็วการจัดเก็บไม่ได้ป้องกันการลบ การปรับใช้ที่ผิดพลาด หรือการสูญเสียสภาพแวดล้อม
ไปที่ต้นทาง
แหล่งอ้างอิงเหล่านี้สนับสนุนแนวคิดทางเทคนิคในคู่มือนี้ ปฏิบัติตามเอกสารปัจจุบันก่อนเปลี่ยนระบบโปรดักชัน
- NVM Express: คำถามที่พบบ่อยเกี่ยวกับข้อกำหนด nvmexpress.org
- fio: เอกสารเครื่องมือทดสอบ I/O แบบยืดหยุ่น fio.readthedocs.io
คำแนะนำด้านบรรณาธิการโดย SwissOctet ตัวอย่างมีไว้เพื่อประกอบ ข้อมูลจำเพาะของบริการ ตัวเลือกที่มี และเงื่อนไขตามสัญญาต้องได้รับการตรวจสอบแยกต่างหาก