คัดลอกไฟล์ขนาด 2 GB หนึ่งไฟล์ผ่าน VPN แล้วการถ่ายโอนดูปกติดี คัดลอกโฟลเดอร์ที่มีเอกสารเล็ก ๆ หนึ่งหมื่นฉบับแล้วลิงก์เดียวกันดูเหมือนเสีย ความแตกต่างไม่ใช่การตั้งค่าแบนด์วิดท์ที่เปลี่ยนไประหว่างสองงาน งานที่สองใช้เวลาไปกับการตั้งค่า เมทาดาทา และการรอคำตอบ และความหน่วงของอุโมงค์คือสิ่งที่ทำให้การรอนั้นมองเห็นได้

ไฟล์หนึ่งไหลลื่น โฟลเดอร์ไฟล์เจรจา

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

การคัดลอกโฟลเดอร์จ่ายต่อไฟล์: สร้าง สอบถามแอตทริบิวต์ เปิด เขียน ปิด และอัปเดตเมทาดาทาของไดเรกทอรี แต่ละอย่างเป็นการร้องขอที่รอคำตอบก่อนขั้นตอนถัดไปจะดำเนินต่อ ไบต์มีขนาดเล็ก แต่การประสานงานไม่เล็ก

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

การเดินทางไปกลับสะสมเร็วกว่าไบต์

ความหน่วงคือต้นทุนของการแลกเปลี่ยนที่พึ่งพากันหนึ่งครั้ง หากไฟล์ต้องใช้การแลกเปลี่ยนแบบอนุกรมหลายครั้งและอุโมงค์เพิ่ม 40 ms ในแต่ละทิศทาง ต้นทุนต่อไฟล์จะโตเร็ว ไฟล์หนึ่งหมื่นไฟล์เปลี่ยนสิ่งนั้นเป็นนาที

เลขคณิตนี้เป็นตัวอย่าง ไม่ใช่การวัด: ไม่ได้รับประกันว่าไฟล์จะเสียค่าการเดินทางไปกลับเพียงครั้งเดียว และไคลเอนต์ทำงานบางส่วนซ้อนกัน

คันโยกสองอย่างเปลี่ยนยอดรวม ลดจำนวนการแลกเปลี่ยนที่พึ่งพากันต่อไฟล์ หรือทำให้หลายรายการทำงานพร้อมกันมากขึ้น อย่างแรกคือการเปลี่ยนโปรโตคอลหรือภาระงาน อย่างที่สองคือความขนาน ไม่มีอย่างใดทำให้ลิงก์ที่ช้ากลายเป็นเร็ว

วัดภาระงาน ไม่ใช่อุโมงค์

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

ตัวเลข MB/s เดียวโดยไม่มีรายละเอียดเหล่านั้น ไม่อาจเทียบกับของใครอื่นได้

วัดความหน่วงแยกจากทรูพุต การทดสอบไปกลับง่าย ๆ ไปยังไฟล์เซิร์ฟเวอร์ให้ตัวเลขที่คูณข้ามการดำเนินการเล็ก ๆ จากนั้นดูลักษณะคำขอของการคัดลอกแทนอัตราเฉลี่ย หากอัตราต่ำและลิงก์ว่าง คอขวดอยู่เหนืออุโมงค์

เปลี่ยนงาน: ความขนานและไฟล์เก็บถาวร

สำหรับการคัดลอกจำนวนมากที่ได้รับอนุญาต เครื่องมือที่มีความขนานแบบควบคุมจะทำให้คำขอทำงานมากขึ้น Robocopy มีตัวเลือก /MT เป็นตัวอย่างทั่วไปบน Windows การเพิ่มเธรดไม่ได้รับประกันการคัดลอกที่เร็วขึ้น

เลือกจำนวนที่ไคลเอนต์ เซิร์ฟเวอร์ และที่จัดเก็บรองรับได้ และเก็บล็อกงานกับข้อผิดพลาดใด ๆ ไว้

การเก็บถาวรที่ต้นทางและการแตกไฟล์ในเครื่องช่วยขจัดการทำงานระยะไกลต่อไฟล์ รวมเวลาเตรียมการและแตกไฟล์ในการเปรียบเทียบ และยืนยันว่าหมวดหมู่เก็บรักษาเมทาดาทาและสิทธิ์ที่งานต้องการ กลเม็ดทั้งสองไม่ทำให้แอปพลิเคชันรวมการดำเนินการไฟล์ของตัวเองเข้าด้วยกัน

ตรวจตัวนับด้วยการทดสอบแบบควบคุม

รันงานเดิมสองครั้งโดยเปลี่ยนตัวแปรหนึ่งตัว และบันทึกตัวเลขทั้งสอง การทดสอบแบบควบคุมเป็นวิธีเดียวที่จะรู้ว่าการตั้งค่าช่วยได้หรือเครือข่ายบังเอิญเงียบกว่า

คำสั่งสองคำสั่งให้จำนวนไฟล์และเส้นฐานของการเดินทางไปกลับ:

Get-ChildItem \\fileserver.hq.example\\share -Recurse | Measure-Object -Property Length -Sum
ping -n 20 fileserver.hq.example

จากนั้นรันการคัดลอกด้วยจำนวนเธรดที่จำกัดและเทียบล็อกกับการรันก่อนหน้า:

robocopy \\fileserver.hq.example\\share C:\\local /E /MT:16 /LOG:copy.log /TEE

อย่าปิดการลงนาม SMB การเข้ารหัส หรือการป้องกันปลายทางเพื่อปรับปรุงตัวนับ การเปลี่ยนแปลงเหล่านั้นแลกคุณสมบัติด้านความปลอดภัยกับตัวเลขที่อาจไม่ใช่คอขวด และแยกการขนส่ง VPN ออกจากการขนส่งของ SMB เองในบันทึกของคุณ เพราะการแก้ไขในสิ่งหนึ่งไม่ใช่หลักฐานเกี่ยวกับอีกสิ่งหนึ่ง

บทความที่เกี่ยวข้อง