สิ่งใดที่เร็วกว่าการทำสำเนาทุกอย่างในคราวเดียวหรือทีละอย่าง?


17

ฉันกำลังถ่ายโอนไฟล์ขนาดใหญ่ (1++) ไปยังแฟลชไดรฟ์ภายนอกผ่าน USB 2.0 มันเร็วกว่าไหมที่จะเหวี่ยงพวกมันทั้งหมดในครั้งเดียว (เหมือนกันทีละตัว แต่ไม่ต้องรอให้การถ่ายโอนก่อนหน้านี้เสร็จสิ้น) เพื่อให้มีการถ่ายโอนหลายครั้งที่เกิดขึ้นหรือถ่ายโอนหนึ่งรอให้เสร็จสิ้น . ไฟล์เหล่านี้มาจากสถานที่หลากหลายดังนั้นฉันจึงไม่สามารถทำการถ่ายโอนครั้งใหญ่ครั้งเดียวได้

มีข้อได้เปรียบอื่น ๆ ในทางเดียวหรือทางอื่นที่มีมูลค่าการพิจารณาหรือไม่?


"Bunch" ราคาเท่าไหร่
Moab

20+ อัปเดตคำถาม
fredley

6
มีคำตอบทางทฤษฎีที่น่าสนใจมากที่นี่ แต่ฉันชอบที่จะเห็นข้อมูลจริง เราจะตั้งค่าการทดสอบที่เชื่อถือได้อย่างไร
Pops

คำตอบ:


19

หากพวกเขามาจากดิสก์ทางกายภาพที่แตกต่างกัน แต่ถูกเขียนไปยังไดรฟ์โซลิดสเตต (แฟลช, SSD) จากนั้นคุณสามารถคัดลอกพวกเขาพร้อมกัน

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

ถ้ามันอยู่ระหว่างไดรฟ์โซลิดสเตตมันก็จะไม่สำคัญ

หากคุณไม่ต้องการที่จะรอรอบสำหรับแต่ละโอนเสร็จแล้วใช้แอปพลิเคสำเนาเข้าคิวเช่นTeraCopy

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


1
คำตอบที่ดีมาก แต่ผมชอบFastCopyตัวเอง :-)
afrazier

Teracopy ยอดเยี่ยมมาก! ฉันชอบวิธีที่มันมาแทนที่ระบบคัดลอกไฟล์ Windows โดยอัตโนมัติ ขอบคุณเร่งความเร็วขนาดใหญ่!
fredley

แม้ว่ามันฟังดูสมเหตุสมผลและนี่คือสิ่งที่ฉันคิดโดยส่วนตัว แต่การฝึกฝนพิสูจน์ให้เห็นเป็นอย่างอื่นฉันมี USB แฟลชที่คัดลอกไฟล์เดียว (จาก SSD) ที่ 30 MB / s แต่เมื่อฉันพยายามคัดลอกสามไฟล์ในเวลาเดียวกันในสภาพแวดล้อมเดียวกันความเร็วลดลงถึง 2.5 MB / s ต่อสำเนาด้าย ดังนั้นความเร็วจะลดลงถึง 7.5 MB / s จาก 30 MB / s
Sisyphus

2

หากดิสก์ปลายทางเป็น SSD ให้ระลึกไว้เสมอว่า SSD นั้นเป็นเรื่องที่น่ากังวลอย่างยิ่ง (*)

หากปลายทางช้ากว่า (จากแฟลชที่มีอัตราการเขียนไม่สูงไปยัง SATA3 HDD ไปยังเทปแม่เหล็ก) คุณควรจัดคิวการถ่ายโอนทีละครั้ง

คอขวดของคุณจะอยู่ในดิสก์ปลายทางอย่างแน่นอน

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

สามัญสำนึก (และคณิตศาสตร์ด้วย!) บอกว่าถ้าเรามีแหล่งข้อมูลที่ดีมาก แต่เราสามารถทำการถ่ายโอนไฟล์ในแบบขนานหัวค้นหาได้ (ในบางสถานการณ์) จะเร็วกว่าอนุกรมของงาน

(*) นั่นคือตาม nnewton เนื่องจากไม่มีการเคลื่อนไหวศีรษะ แต่เราไม่ควรใช้คำว่าlatency : latency คือการเคลื่อนไหวส่วนหัว + ความล่าช้าในการหมุนดิสก์ + เวลาอ่านและใน SSD ที่เป็นเพียงเวลาอ่านแบบสุ่มและไม่ขึ้นอยู่กับตำแหน่งการอ่านก่อนหน้าเช่นเดียวกับดิสก์ไดรฟ์


2

การใช้ยูทิลิตีการคัดลอกไฟล์ในตัวใน Windows จะทำให้ทั้งคู่ทำงานช้า คุณอาจต้องการที่จะต้องพิจารณาโดยใช้ซอฟต์แวร์ทางเลือกเช่นTeraCopy


1

หากคุณกำลังคัดลอกข้ามโปรโตคอล IP (FTP / SCP / Samba / ฯลฯ ) ดังนั้นจึงมีค่าใช้จ่ายน้อยกว่าในการคัดลอกไฟล์เดียวเนื่องจากมีหลาย handshakes ระหว่างแต่ละไฟล์

ในกรณีนี้เนื่องจากมีไฟล์ขนาดใหญ่และมีจำนวนน้อยจึงไม่ได้สร้างความแตกต่างอย่างมากกับบัส I / O ที่คุณทำและอาจจะง่ายกว่าในการคัดลอกไฟล์ตามที่เป็นอยู่


0

คุณเขียนไฟล์ทีละไฟล์ได้ดีที่สุด

คุณจะพบว่าแบนด์วิดท์ของแฟลชไดรฟ์ของคุณจะอิ่มตัวอย่างง่ายดาย (ไดรฟ์ต้นทางไม่น่าจะเป็นคอขวด) ในขณะที่ USB 2.0 สามารถถ่ายโอนได้สูงสุด 480MB แฟลชไดรฟ์ของคุณอาจถูก จำกัด ไว้ที่ ~ 20MB ซึ่งหมายความว่าเมื่อคุณถ่ายโอนไฟล์สองไฟล์จากฮาร์ดไดรฟ์จะทำให้ความเร็วในการเขียนสูงสุดของแฟลชไดรฟ์และแต่ละไฟล์จะถูกเขียนช้าลงเนื่องจากต้องแชร์

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

(โชคดีเพราะแฟลชไดรฟ์เป็นโซลิดสเตทไม่มีหัวที่ต้องฟาดกลับไปกลับมาอย่างที่มันต้องการหากคุณถ่ายโอนไฟล์หลายไฟล์ไปยังฮาร์ดดิสก์)

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

หากไฟล์ต้นฉบับมาจากแหล่งข้อมูลที่แตกต่างกัน (คุณหมายถึงฮาร์ดไดรฟ์ต่าง ๆ ไดรฟ์ซีดี / ดีวีดีเครือข่ายหรือเพียงแค่โฟลเดอร์) สิ่งที่คุณสามารถทำได้คือการใช้เครื่องมือคัดลอกไฟล์โดยเฉพาะแทน Windows ในตัว ในฟังก์ชั่น ตัวเลือกบางอย่างรวมถึงเครื่องมือ Microsoft TechNet Robocopyซึ่งมีGUI front-end , RichCopy (เช่นจาก TecNet) ซึ่งเป็นเครื่องมือที่ได้รับการปรับปรุงตาม Robocopy และTeracopyซึ่งเชี่ยวชาญในการถ่ายโอนให้มีประสิทธิภาพมากที่สุด (และมี รุ่นฟรี)


0

ตกลงเนื่องจาก OP กล่าวโดยเฉพาะว่าเขากำลังคัดลอกพวกเขาผ่าน USB 2.0 ไปยังเป้าหมายเดียวฉันต้องพูดทีละครั้งโดยไม่คำนึงถึงแหล่งที่มา

S = อนุกรม หลายสตรีมไฟล์ = ค่าใช้จ่าย

แต่ในทางปฏิบัติ ...

เมื่อคัดลอกจากหลายแหล่งเวลาที่สูญเสียไปยังสตรีมจำนวนมากจะถูกสร้างขึ้นมากกว่าโดยไม่ต้องสร้างสำเนา 'คิว' ด้วยตนเอง และง่ายกว่า ;)

นอกจากนี้หากคุณกำลังคัดลอกในหลายสตรีมและสตรีมหนึ่งล้มเหลวส่วนที่เหลืออาจจะเสร็จสมบูรณ์


0

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


อ่านคำตอบอื่น ๆ ก่อนที่จะเขียนคำตอบใหม่
yass
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.