มันช้ากว่าที่จะคัดลอกสองไฟล์ในเวลาเดียวกันมากกว่าการคัดลอกหนึ่งหลังจากที่อื่น ๆ ? [ซ้ำ]


15

เจ้านายของฉันบอกว่าใช้เวลานานกว่าในการคัดลอกไฟล์สองไฟล์ในเวลาเดียวกันมากกว่าการทำหนึ่งไฟล์และอีกไฟล์หนึ่งเพราะฮาร์ดไดรฟ์ต้องสลับหัวระหว่างตำแหน่งทั้งสองบนดิสก์ต่อไป มันเป็นเรื่องจริงเหรอ? ดูเหมือนว่าฉันว่าระบบปฏิบัติการควรฉลาดพอที่จะแก้ไขปัญหานี้ (กล่าวคือควรรู้ที่จะคัดลอกมันตามลำดับ) สิ่งนี้เป็นจริงเมื่อคัดลอกไปยังไดรฟ์ที่เชื่อมต่อกับพอร์ต USB หรือไม่?

แก้ไข: มีปัจจัยอื่น ๆ ที่เกี่ยวข้องกับระบบไฟล์ที่มีปัจจัยหรือไม่ ตัวอย่างเช่นมันสร้างความแตกต่างในการคัดลอก 1 ไดเรกทอรีที่มี 10 ไฟล์เมื่อเทียบกับการคัดลอก 10 ไฟล์จากทั่วดิสก์? ฉันสงสัยเพียงเกี่ยวกับสื่อแหล่งที่มาหนึ่งและสื่อปลายทางหนึ่ง (ไม่มีการอ่านจากหลายไดรฟ์)


บางครั้งบางครั้งก็ไม่
Daniel R Hicks

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

1
นอกจากนี้หากคุณถ่ายโอนผ่าน USB2 แสดงว่าอาจไม่มีความแตกต่าง ความเร็วในการอ่าน harddisk ทั่วไปอยู่ที่ประมาณ 50-100MB / s ในขณะที่ความเร็วสูงสุดของ USB2 คือ 32MB / s ดังนั้นคอขวดจะเป็นพอร์ต USB มากกว่าลักษณะฮาร์ดดิสก์เนื่องจากการบัฟเฟอร์ พูดอีกอย่างหนึ่งก็ยากที่จะพูดทางเดียวหรืออื่น ๆ
โกหกไรอัน

@LieRyan มันเลวร้ายเกินไปคุณไม่ได้โพสต์แสดงความคิดเห็นเป็นคำตอบที่ดีที่สุดเพราะมันเหมาะกับคำถามที่ฉันตั้งใจจะถามซึ่งเกี่ยวกับการคัดลอกจาก 1 ฮาร์ดดิสก์ 1 ฮาร์ดดิสก์ภายนอกโดย USB 2
Celeritas

คำตอบ:


12

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

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

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

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

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


1
สิ่งนั้นก็ไม่ได้ขึ้นอยู่กับความสามารถของตัวประมวลผลของระบบด้วย?
Raghunandan

@ Raghunandan จุดยุติธรรม - ฉันเชื่อว่ามันขึ้นอยู่กับสถานการณ์ทั้งหมด หลายคอร์ / ไฮเปอร์เธรดจะเพิ่มความเร็วในการคัดลอกอย่างแน่นอนหากอ่านข้อมูลจากฟิสิคัลวอลุ่มหลายตัวหรือ SSD / RAMDisk แต่ในสถานการณ์ของ HDD เดียวความเร็วในการคัดลอกจะ จำกัด ปัจจัยที่มีแนวโน้มว่าจะยังคงอยู่ในความเร็ว IO ของดิสก์ -movement latency (ฉันแน่ใจว่าต้องมีคำที่เหมาะสมกว่าสำหรับ ... )
bosco

3
@Raghunandan - อาจไม่เป็นระบบปฏิบัติการมากเท่ากับระบบไฟล์ (NTFS กับ EXT4)
Enigma

2
@Raghunandan PC-24000 DDR3 มีแบนด์วิดท์ที่ 24 GB / s และยังไม่ จำกัด ซีพียูที่ทันสมัยดังนั้นฉันไม่คิดว่ามันเป็นเรื่องของ CPU - แม้ว่าการทำงานของ HDD จะมีประสิทธิภาพน้อยกว่าการทำงาน RAM 100 เท่า ซีพียูยังคงสามารถรองรับอย่างน้อย 245 MB / s และนั่นยังมากกว่าแบนด์วิดท์ของ SSD ที่เร็วที่สุด
gronostaj

1
@Raghunandan พาร์ทิชันลินุกซ์ของคุณก็อาจจะเป็นในส่วนของการได้เร็วขึ้นกว่าดิสก์พาร์ทิชันของ Windows (. เช่นนอกวีภายใน)
เออร์นี่

16

มีปัจจัยมากมายที่อาจส่งผลกระทบต่อสิ่งนี้

  • ไดรฟ์ต้นฉบับ - ดิสก์หมุนหรือ SSD นี้หรือไม่ ถ้าดิสก์หมุนดิสก์รูปแบบของไฟล์อาจส่งผลต่อประสิทธิภาพ เนื่องจากไฟล์ทั้งสองมีแนวโน้มในส่วนต่าง ๆ ของดิสก์สิ่งนี้จะเกิดขึ้นจากการค้นหาบทลงโทษ อย่างที่คุณพูดถ้าคุณเลือกสองไฟล์พร้อมกันและเริ่มต้นการคัดลอกด้วยวิธีดังกล่าวระบบปฏิบัติการจะจัดการสำเนาตามลำดับ
  • โครงร่างไฟล์ - การแตกไฟล์ (ทั้งบนต้นทางและปลายทาง) อาจส่งผลต่อประสิทธิภาพสำหรับไดรฟ์ที่ไม่ใช่ SSD
  • ปลายทาง - หากคุณมีสตรีมการเขียนสองรายการที่เขียนไปยังเป้าหมายเดียวคุณจะกลับไปที่หัวข้อการค้นหา (อีกครั้งโดยสมมติว่าไม่ใช่ SSD) และคุณสามารถแทรกไฟล์ได้อย่างมาก ฉันเคยทำงานให้กับ บริษัท ที่สร้างที่จัดเก็บข้อมูลที่มีประสิทธิภาพสูงและหนึ่งในปัญหาใหญ่สำหรับพวกเขาคือจำนวนวิดีโอสตรีมแบบเรียลไทม์ที่พวกเขาสามารถอ่านหรือเขียนได้ (วิดีโอ 2k ต้องการประมาณ 300 เมกะวินาทีต่อวินาที) การสลับการเขียนจะทำให้กระบวนการคัดลอกช้าลงและจะทำให้การอ่านไฟล์ช้าลง แน่นอนหากดิสก์ของคุณเริ่มต้นการแยกส่วนไฟล์ของคุณจะถูกเขียนซ้ำ
  • แหล่งเดียว / หลายเป้าหมาย / - ขึ้นอยู่กับว่าไฟล์ของคุณมาจากไดรฟ์เดียวหรือทั้งหมดถูกเขียนไปยังไดรฟ์เดียวปัญหาการค้นหาส่วนหัวอาจมากหรือน้อย
  • ขนาดไฟล์ - สำหรับไฟล์ขนาดเล็กจริงๆปัญหาการค้นหาส่วนหัวจะไม่สำคัญเนื่องจากหัวต้องค้นหาไฟล์ถัดไปอยู่ดี (หมายความว่าแทนที่จะไปมาระหว่างไฟล์หัวจะอ่านไฟล์ตามลำดับ)

สำหรับระบบปฏิบัติการนั้นฉลาดพอที่จะแก้ไขปัญหานี้ได้โดยทั่วไป นั่นคือถ้าคุณคัดลอกหลายไฟล์พร้อมกัน (เช่นคิดว่าการเลือกหลายไฟล์พร้อมกันและลาก -n-drop)

แน่นอนถ้าคุณเริ่มต้นสองcpคำสั่งมันจะรันทั้งสองคำสั่งหรือใน Windows หากคุณคัดลอก / วางไฟล์แยกกันและรับหน้าต่างความคืบหน้า "คัดลอก" สองหน้าจอจากนั้นการเพิ่มประสิทธิภาพจะไม่เกิดขึ้น ในกรณีนี้คุณได้บอกกับ OS อย่างชัดเจนว่าคุณต้องการเรียกใช้ทั้งสองชุดพร้อมกันดังนั้นจึงไม่คิดว่าจะมีหนึ่งสำเนาที่สำคัญกว่าอีกชุดและเริ่มจัดคิว


+1 สิ่งเดียวที่ขาดหายไปคือการกำหนดค่าRAIDซึ่งกล่าวถึง "เดี่ยว / หลายรายการ / เป้าหมาย"
David Harkness

1
-1 สิ่งที่กล่าวมาส่วนใหญ่ไม่เกี่ยวข้องกับคำถาม
Celeritas

1

หากคุณเลือกและคัดลอกหลายรายการ - จาก GUI หรือโดยใช้คำสั่งเช่น "คัดลอก C: \ folder * D: \ folder \" - จากนั้นไฟล์จะถูกคัดลอกตามลำดับต่อไปแสดงคำถามที่สงสัย

หากคุณคัดลอกไฟล์บางไฟล์และในขณะที่กำลังทำการคัดลอกให้เริ่มคัดลอกไฟล์เพิ่มเติม - โดยการดำเนินการแยกกันสองรายการจาก GUI หรือโดยคำสั่งแยกสองคำสั่งทำงานพร้อมกันเช่น "cp -r / usr / bin / / opt / bin / & cp -r / usr / local / bin / / opt / local / bin / "- แล้วประสิทธิภาพการทำงานของคุณจะลดลงอย่างแน่นอน - อาจจะเล็กน้อย (ไดรฟ์โซลิดสเตทระดับไฮเอนด์, ไฟล์ขนาดใหญ่ในการคัดลอกทั้งสอง) หรืออาจ a TON (สปินดิสก์ดิสก์, ไฟล์ที่ค่อนข้างเล็กในการทำงานหนึ่งหรือทั้งสองอย่าง) ระบบปฏิบัติการที่ดีกว่าอาจลดประสิทธิภาพลงได้ในระดับหนึ่งตัวอย่างเช่นเคอร์เนล Linux รุ่นใหม่ใช้ CFQ (การจัดคิวงานยุติธรรมอย่างสมบูรณ์) การจัดตารางเวลา I / O ซึ่งจะใช้การบล็อกแบบ "แบตช์" เพื่อเพิ่มประสิทธิภาพ - แต่คุณจะยังคงใช้ ตีประสิทธิภาพ ในบางกรณีการตีอาจมีขนาดใหญ่มาก

TL; DR - เพียงทำงานอย่างน้อยหนึ่งคัดลอกการดำเนินงานได้ตลอดเวลาโดยไม่คำนึงถึงวิธีการหลายแต่ละไฟล์จะรวมอยู่ในที่การดำเนินการถ้าคุณกำลังกังวลเกี่ยวกับผลการดำเนินงาน

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