มีทางเลือกอื่น cp ที่เร็วกว่าสำหรับการคัดลอกไฟล์ขนาดใหญ่ (~ 20 GB) หรือไม่


40

ฉันเป็นนักศึกษาระดับบัณฑิตศึกษาและกลุ่มที่ฉันทำงานดูแลคลัสเตอร์ Linux แต่ละโหนดของคลัสเตอร์มีดิสก์ภายในเครื่องของตนเอง แต่ดิสก์ภายในเครื่องเหล่านี้มีขนาดค่อนข้างเล็กและไม่มีการสำรองข้อมูลอัตโนมัติ ดังนั้นกลุ่มเจ้าของเซิร์ฟเวอร์ไฟล์ที่มีพื้นที่เก็บข้อมูลจำนวนมาก TB ฉันเป็นสามเณร Linux ญาติดังนั้นฉันไม่แน่ใจว่าอะไรคือข้อกำหนดของ fileserver ในแง่ของความเร็วความสามารถในการเชื่อมต่อเครือข่ายและอื่น ๆ ฉันรู้จากประสบการณ์ว่าดิสก์ภายในเครื่องนั้นเร็วกว่าไฟล์เซิร์ฟเวอร์ในแง่ของ I / O อย่างมาก . ประมาณหนึ่งโหลหรือมากกว่านั้นผู้คนใช้ไฟล์เซิร์ฟเวอร์

การใช้cpเพื่อคัดลอกไฟล์ ~ 20 GB จาก fileserver ไปยังดิสก์ภายในเครื่องใช้เวลาโดยเฉลี่ยประมาณ 11.5 นาทีตามเวลาจริง (ตามtime) ฉันรู้ว่าcpการดำเนินการนี้ไม่ได้มีประสิทธิภาพมากเพราะ (1) timeบอกฉันว่าเวลาของระบบสำหรับสำเนาดังกล่าวมีเพียง ~ 45 วินาที และเนื่องจาก (2) เมื่อฉันตรวจสอบtopระหว่างการคัดลอก% CPUค่อนข้างต่ำ (โดยการตรวจสอบโดยเฉลี่ยประมาณ0-10% )

การใช้cpเพื่อคัดลอกไฟล์ ~ 20 GB เดียวกันจากโฟลเดอร์หนึ่งบนดิสก์ภายในเครื่องไปยังโฟลเดอร์อื่นในดิสก์ภายในเครื่องเดียวกันใช้เวลาน้อยลง - ในเวลาจริงประมาณ 9 นาที (~ 51 วินาทีในเวลาระบบตามtime) เห็นได้ชัดว่าไฟล์เซิร์ฟเวอร์ค่อนข้างช้ากว่าดิสก์ภายในเครื่องตามที่คาดไว้ แต่อาจไม่ช้าลงอย่างมีนัยสำคัญ ฉันประหลาดใจที่การคัดลอกจากในท้องถิ่นไปยังท้องถิ่นเดียวกันนั้นไม่เร็วกว่า 9 นาที

ฉันต้องคัดลอก ~ 200 ไฟล์ขนาดใหญ่ - แต่ละ ~ 20 GB - จาก fileserver ไปยังดิสก์ท้องถิ่น ดังนั้นคำถามของฉันคือ: มีทางเลือกอื่นที่เร็วกว่าcpสำหรับการคัดลอกไฟล์ขนาดใหญ่ใน Linux หรือไม่? (หรือมีธงใด ๆ ภายในcpที่ฉันสามารถใช้ซึ่งจะเร่งความเร็วการคัดลอกหรือไม่) แม้ว่าฉันจะสามารถโกนนาทีคัดลอกเวลานี้อย่างใดอย่างหนึ่งที่จะช่วยอย่างมาก

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


29
นั่นทำให้ประมาณ 29MB / s ซึ่งค่อนข้างเร็วถ้าคุณถามฉัน ฉันไม่คิดว่าจะมีคำสั่งใดที่จะเร่งความเร็วนี้ "คอขวด" น่าจะเป็น) เครือข่ายหรือ b) ไฟล์เซิร์ฟเวอร์
ทิงค์

5
tink นั้นถูกต้อง 100% ฉันไม่เคยเห็นอะไรที่สามารถปรับปรุงสิ่งนี้ได้ สิ่งเดียวที่ฉันเคยทำในอดีตคือการบีบอัดข้อมูลก่อนที่จะส่ง แต่นั่นหมายความว่าคุณกำลังเพิ่มเวลาด้วยขั้นตอนการบีบอัดและขั้นตอนการบีบอัด แต่บางครั้งมันก็คุ้มค่าถ้าข้อมูลเป็นตัวเลือกที่ดี บีบอัด!
slm

3
นอกจากนี้คุณยังสามารถลองddและrsyncเปรียบเทียบสิ่งที่ใช้ได้เร็วกว่าในสภาพแวดล้อมของคุณ
Raza

@ Salton ขอบคุณ ผมยังไม่ได้พยายามแต่ฉันก็พยายามdd rsyncเวลาที่แท้จริงก็คือประมาณ 11.5 นาทีและเวลาของระบบได้ประมาณ 1.5 timeนาทีตาม
Andrew

2
ฉันประหลาดใจที่ไม่มีใครชี้ให้เห็นว่าดิสก์โลคัลกับสำเนาดิสก์ภายในเครื่องนั้นสามารถทำงานได้อย่างมีประสิทธิภาพมากขึ้นโดยติดตั้งดิสก์หลายตัว คัดลอกจาก/dev/sda1ที่จะ/dev/sdb1เป็นไปได้เร็วกว่าการคัดลอกจากสถานที่หนึ่งบน/dev/sda1ยังตำแหน่งอื่นบน/dev/sda1หรือพาร์ทิชันอื่นบน/dev/sdaเพราะฮาร์ดไดรฟ์จะไม่ต้องทำเพิ่มเติมพยายามระหว่างอ่านและเขียน (สมมติว่าฮาร์ดไดรฟ์แบบดั้งเดิมที่มีการปั่นดิสก์และการเคลื่อนย้ายหัว; SSD นั้นแตกต่างกันอย่างเห็นได้ชัด)
tripleee

คำตอบ:


53

% CPU ควรต่ำในระหว่างการคัดลอก CPU บอกตัวควบคุมดิสก์ "ดึงข้อมูลจากภาค X – Y ลงในบัฟเฟอร์หน่วยความจำที่ Z" ถ้าอย่างนั้นมันก็ไปทำอย่างอื่น (หรือนอนถ้าไม่มีอะไร) ฮาร์ดแวร์เรียกการขัดจังหวะเมื่อข้อมูลอยู่ในหน่วยความจำ จากนั้น CPU จะต้องคัดลอกสองสามครั้งและบอกการ์ดเครือข่าย "ส่งแพ็กเก็ตที่ตำแหน่งหน่วยความจำ A, B และ C" จากนั้นจะกลับไปทำอย่างอื่น

คุณกำลังผลักดัน ~ 240mbps บนกิกะบิต LAN คุณควรทำอย่างน้อย 800mbps แต่:

  1. ใช้ร่วมกันระหว่างทุกคนที่ใช้ไฟล์เซิร์ฟเวอร์ (และอาจเป็นการเชื่อมต่อระหว่างสวิตช์ ฯลฯ )
  2. นั่นถูก จำกัด ด้วยความเร็วที่ไฟล์เซิร์ฟเวอร์สามารถจัดการกับการเขียนได้โดยคำนึงถึงแบนด์วิดท์ของดิสก์ I / O ที่ทุกคนใช้ร่วมกัน
  3. คุณไม่ได้ระบุวิธีการเข้าถึงเซิร์ฟเวอร์ไฟล์ (NFS, CIFS (Samba), AFS และอื่น ๆ ) คุณอาจจำเป็นต้องปรับแต่งการเชื่อมต่อเครือข่ายของคุณ แต่ค่าเริ่มต้นในช่วงครึ่งหลังมักจะมีเหตุผล

สำหรับการติดตามคอขวดiostat -kx 10จะเป็นคำสั่งที่มีประโยชน์ มันจะแสดงให้คุณเห็นการใช้งานบนฮาร์ดดิสก์ในเครื่องของคุณ หากคุณสามารถเรียกใช้บนเซิร์ฟเวอร์ไฟล์มันจะบอกคุณว่าเซิร์ฟเวอร์ไฟล์ยุ่งแค่ไหน

วิธีแก้ปัญหาทั่วไปจะทำให้คอขวดนั้นเร็วขึ้นซึ่งแน่นอนว่าคุณไม่มีงบประมาณ แต่มีบางกรณีที่คุณสามารถหาวิธีที่เร็วกว่า:

  • ถ้าไฟล์อัดและคุณมี CPU ที่รวดเร็ว, การทำน้อยที่สุดลูกประคบ on-the-บินอาจจะเร็วขึ้น สิ่งที่ต้องการหรืออาจจะlzopgzip --fastest
  • หากคุณกำลังเปลี่ยนบิตเพียงเล็กน้อยที่นี่และที่นั่นจากนั้นส่งไฟล์กลับการส่ง delta เท่านั้นจะเร็วขึ้นมาก น่าเสียดายที่rsyncไม่ช่วยจริง ๆ เพราะจะต้องอ่านไฟล์ทั้งสองด้านเพื่อค้นหาเดลต้า แต่คุณต้องการสิ่งที่ติดตามเดลต้าในขณะที่คุณเปลี่ยนไฟล์ ... แนวทางส่วนใหญ่ที่นี่เฉพาะแอป แต่มีความเป็นไปได้ที่คุณจะสามารถควบคุมอุปกรณ์บางอย่างเช่นอุปกรณ์ทำแผนที่ (ดูเป้าหมาย dm ยุคใหม่ ) หรือ btrfs
  • หากคุณกำลังคัดลอกข้อมูลเดียวกันไปยังเครื่องหลายเครื่องคุณสามารถใช้บางอย่างเช่น udpcast เพื่อส่งไปยังเครื่องทั้งหมดในครั้งเดียว

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


+1 สำหรับ iostat -kx 10 :-)
n611x007

16

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


23
Sneakernet ( en.wikipedia.org/wiki/Sneakernet ) นั้นเร็วมาก: อย่าประมาทแบนด์วิดท์ของรถบรรทุกสถานีที่เต็มไปด้วยเทปที่พุ่งชนทางหลวง
SplinterReality

10

คำจำกัดความที่มีประสิทธิภาพของคุณคือถอยหลัง การนำไปปฏิบัติที่มีประสิทธิภาพมากขึ้นจะเป็นการเสียเวลาของ cpu น้อย บนโลคัลสำเนาคุณเฉลี่ยประมาณ 74 MB / s ของปริมาณงาน (อ่าน + เขียน) ซึ่งใกล้เคียงกับฮาร์ดดิสก์เดียวที่จะได้รับ


1
อุ่ย เมื่อฉันพูดว่า "มีประสิทธิภาพ" ฉันหมายถึง "เร็ว"
Andrew

10

หากคุณมีการเข้าถึงโดยตรง SSH (หรือ SFTP) (ขอให้ดูแลระบบของคุณ) คุณสามารถใช้scpกับการบีบอัด ( -C):

scp -C you@server:/path/to/yourfile .

แน่นอนว่ามีประโยชน์เฉพาะเมื่อไฟล์บีบอัดได้และจะใช้เวลา CPU มากขึ้นเนื่องจากจะใช้การเข้ารหัส (เพราะมีมากกว่า SSH) และการบีบอัด


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

3
@lgeorget ฉันสงสัยว่าค่าใช้จ่ายในการเข้ารหัสจะไม่สำคัญเมื่อพิจารณาว่าฮาร์ดไดรฟ์ช้าแค่ไหน ผมถือว่าเพิ่มบางอย่างเกี่ยวกับ-c noneแต่ที่ดูเหมือนว่าจะไม่ได้มาตรฐาน
Reinstate Monica

1
เราจัดการอยู่กับ ~ 20G ไฟล์ดังนั้นจึงเป็นที่ไม่มีประสิทธิภาพสวยที่จะใช้การเข้ารหัสถ้าไม่จำเป็นต้อง
lgeorget

1
@lgeorget การเข้ารหัสสามารถทำได้เร็วกว่าความเร็วที่เขาได้รับดังนั้นมันจะไม่ทำให้อะไรช้าลง แต่ดูเหมือนไม่จำเป็นที่จะต้องผ่าน SSH ที่นี่ หากคุณต้องการบีบอัดแน่นอนมีเครื่องมืออื่น ๆ ?
โทมัส

@Thomas ข้อดีของ SSH คือถ้าคุณควรจะสามารถเข้าถึงเซิร์ฟเวอร์ระยะไกลได้แสดงว่า SSH นั้นเกือบจะทำงานได้แน่นอน อีกตัวเลือกหนึ่งที่จะบีบอัดไฟล์ในท้องถิ่นคัดลอกไปยังเซิร์ฟเวอร์แล้วsshในและขยายมัน ..
คืนสิทธิ์ให้กับโมนิกา

8

การcpติดตั้งส่วนใหญ่ไม่ใช่คอขวด ลองสังเกตการใช้งาน IO ผ่านทางiotopทั้งเซิร์ฟเวอร์และโหนดคลัสเตอร์ สิ่งนี้จะทำให้คุณมีความคิดที่คุณสามารถปรับปรุงประสิทธิภาพ

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

หากภายในไฟล์ 20G นั้นบางส่วนเป็นเรื่องปกติและบางส่วนเป็นโหนดของโหนดโดยเฉพาะให้พิจารณาแบ่งออกเป็นส่วนร่วมและส่วนเฉพาะจากนั้นกระจายส่วนทั่วไปด้วยวิธี p2p


1
หากคุณใช้ LAN คุณควรจะทำมัลติคาสต์แทนการใช้แบบ peer-to-peer ซึ่งควรจะเร็วกว่าและโหลดน้อยลงบนเครือข่าย
Derobert

8

ธรรมชาติ / เนื้อหาของไฟล์เหล่านั้นสามารถสร้างความแตกต่างบางอย่าง ฉันเข้าใจว่าคุณต้องคัดลอกไฟล์ 200 ไฟล์แต่ละไฟล์ประมาณ 20 GB จากคอมพิวเตอร์เครื่องหนึ่งไปยังอีกเครื่องหนึ่งใช่ไหม

หากไฟล์เหล่านั้นสามารถบีบอัดได้หรือมีชิ้นส่วนที่คล้ายกัน / เหมือนกันคุณมีสองวิธี:

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

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

แก้ไข

คุณจะต้องคัดลอกไฟล์เหล่านั้นหลายครั้งหรือไม่? (เช่นสำเนา -> ใช้ไฟล์เหล่านั้น -> เปลี่ยนบางอย่างในไฟล์ในคอมพิวเตอร์ A -> คัดลอกไฟล์อีกครั้งไปยังคอมพิวเตอร์ B)

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

และวิธีที่สาม: หากข้างต้นถูกต้อง (การเปลี่ยนแปลงในไฟล์ให้คัดลอกไฟล์ทั้งหมดไปยังคอมพิวเตอร์เครื่องที่สอง) คุณสามารถลองbinary diffเปลี่ยนคอมพิวเตอร์เครื่องที่สองสิ่งที่เปลี่ยนแปลงในคอมพิวเตอร์เครื่องแรก


6

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

หากคุณกำลังคัดลอกระหว่างสองระบบคอขวดก็แน่นอนว่าเป็นการเชื่อมต่อระหว่างเซิร์ฟเวอร์

หากคุณกำลังคัดลอกภายในเครื่องให้ดูว่ากระบวนการทำงานอย่างไรมันเป็นแบบเธรดเดี่ยวดังนั้นยูทิลิตี้ Linux มาตรฐานจึงใช้:

- for all blocks in a file
      read a block
      write a block

ไม่มีการเกิดขึ้นพร้อมกันสำหรับการดำเนินการนี้

เพื่อให้เร็วขึ้นคุณสามารถใช้สิ่งนี้:

  buffer -i infile -o outfile -m size-of-shared-memory-default-1MByte

ดูหน้า man buffer (1) สำหรับข้อมูลเพิ่มเติม

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


ที่จริงแล้วมีการเกิดขึ้นพร้อมกันใน "อ่านบล็อก / เขียนบล็อก" เพราะ "เขียนบล็อก" จริง ๆ แล้วเพียงวางไว้ในบัฟเฟอร์ของเคอร์เนลและเคอร์เนลจัดการบล็อกจริงเขียนในพื้นหลัง (อย่างน้อยจนกว่าคุณจะเริ่มหมด ของ RAM) หรือถ้าคุณใช้ O_DSYNC / O_SYNC ด้วยเหตุผลบางอย่าง
Derobert

3

ทำไมไม่ลองอัลกอริทึมการแพร่กระจาย P2P หากคุณต้องการอัปเดตทั้งคลัสเตอร์ในเวลาเดียวกัน

https://github.com/lg/murderคือสิ่งที่ Twitter ใช้

มีBTSyncที่คุณสามารถลองใช้ได้เช่นกัน


1

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

git หรือ hg สามารถติดตามและตรวจจับ deltas และโอน deltas เหล่านั้นเท่านั้น ในกรณีของการใช้คอมไพล์เนื่องจากทั้งสองฝ่ายมีประวัติเต็มของพื้นที่เก็บข้อมูลการหาเดลต้านั้นถูกมาก

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


1

คุณอาจต้องการลองบรรจุไฟล์ทั้งหมดลงในไฟล์เก็บถาวรเดียว (ไม่จำเป็นต้องบีบอัด) จากประสบการณ์ของฉันการคัดลอกไฟล์เก็บถาวรเร็วกว่าการคัดลอกไฟล์จำนวนมาก


3
สังเกตทั่วไปที่ดี แต่เป็นคำถามที่ว่า“~ 200 ไฟล์ขนาดใหญ่ - แต่ละ ~ 20 GB” ผมไม่เชื่อว่านี่ถือได้ว่าคำตอบที่แท้จริงนี้ปัญหา
จัดการ

@ การจัดทำอ่า .. ฉันอ่านไม่ชัด ฉันคิดว่าเขามี 200 ไฟล์รวม 20gb
Munim

0

ลองbbcp การทดสอบในสภาพแวดล้อมของเราพบว่า cp มีบางอย่างในตัว governer เพียงระวังเพราะเมื่อคุณถอด governer คุณสามารถ red-line เซิร์ฟเวอร์ของคุณและทำให้ไฟดับ ในกรณีของเราเรากำลังทำให้เซิร์ฟเวอร์ออฟไลน์ทำสำเนาดังนั้นเร็วกว่าดีกว่า การปรับปรุงเวลาการถ่ายโอนนี้ดีขึ้นหลายชั่วโมง


0

ตรวจสอบให้แน่ใจว่าไม่มีไฟล์เป้าหมายก่อนทำการคัดลอก

บางครั้งมันก็น่าแปลกใจที่ใช้เวลาเท่าไหร่แม้เพียงแค่คัดลอกบนโฮสต์เดียวกัน (ไม่มีเครือข่ายที่เกี่ยวข้อง)

ดูคำตอบของฉันคำถาม CP ที่นี่อีก เรื่องสั้นสั้น ๆ การเขียนทับไฟล์ที่มีอยู่นั้นช้ากว่าการตัดทอนหรือยกเลิกการลิงค์ก่อนจากนั้นก็ทำการคัดลอก หลังคือ 8x เร็วกว่าสำหรับไฟล์ 1.2GB

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