ฉันได้ดูคำถามนี้และคำถามนี้แต่พวกเขาดูเหมือนจะไม่สามารถบอกอาการที่ฉันเห็นได้
ฉันมีล็อกไฟล์ขนาดใหญ่ (ประมาณ 600 MB) ที่ฉันพยายามถ่ายโอนข้ามเครือข่ายเซลลูลาร์ เพราะมันเป็นแฟ้มบันทึกมันเป็นเพียงการผนวกเข้ากับ (แม้ว่ามันจะเป็นจริงในฐานข้อมูล SQLite มีเพียง INSERT การดำเนินการเพื่อให้มันไม่ได้ค่อนข้างง่ายเหมือนที่ แต่มีข้อยกเว้นของสุดท้าย 4k หน้า (หรืออาจจะเป็น น้อย) ไฟล์จะเหมือนกันทุกครั้งมันเป็นสิ่งสำคัญที่จะต้องทำการเปลี่ยนแปลงเท่านั้น
แต่เมื่อฉันทำการทดสอบผ่านการเชื่อมต่อที่ไม่มีการตรวจสอบ (เช่นฮอตสปอต wifi ฟรี) ฉันไม่เห็นการถ่ายโอนข้อมูลที่เร่งความเร็วหรือลดลงที่สังเกตหรือรายงาน ผ่านการเชื่อมต่อ WiFi ช้าฉันเห็นตามคำสั่งของ 1MB / s หรือน้อยกว่ารายงานว่าการถ่ายโอนจะใช้เวลาเกือบ 20 นาที ผ่านการเชื่อมต่อ WiFi ที่รวดเร็วฉันเห็นความเร็วที่เร็วขึ้นเหมือนกัน แต่ไม่มีรายงานการเร่งความเร็วและความพยายามครั้งที่สองในการถ่ายโอน
คำสั่ง (ฆ่าเชื้อเพื่อลบข้อมูลที่ละเอียดอ่อน) ที่ฉันใช้อยู่คือ:
rsync 'ssh -p 9999' --progress LogFile michael@my.host.zzz:/home/michael/logs/LogFile
ผลลัพธ์ที่ฉันได้รับในตอนท้ายดูเหมือนว่า:
LogFile
640,856,064 100% 21.25MB/s 0:00:28 (xfr$1, to-chk=0/1)
ไม่มีการเอ่ยถึงการเร่งความเร็วใด ๆ
ฉันสงสัยว่าปัญหาอาจเป็นหนึ่งในสิ่งต่อไปนี้:
- ฉันไม่มีตัวเลือกบรรทัดคำสั่ง อย่างไรก็ตามการอ่านหน้าคนใหม่ดูเหมือนว่าจะแนะนำว่าการถ่ายโอนเดลต้าเปิดใช้งานตามค่าเริ่มต้น: ฉันเห็นเฉพาะตัวเลือกสำหรับการปิดใช้งาน
- ฉันใช้ rsync บน ssh (บนพอร์ตที่ไม่ได้มาตรฐาน) เนื่องจากเซิร์ฟเวอร์ที่อยู่หลังไฟร์วอลล์ที่อนุญาตให้ใช้ ssh เท่านั้น ฉันไม่เห็นอะไรเลยว่าการโอนย้ายเดลต้าจะไม่ทำงานหาก rsync daemon ไม่ทำงาน ฉันพยายามใช้สัญกรณ์ "::" แทนที่จะเป็น ":" แต่หน้าคนไม่ชัดเจนมากเกี่ยวกับสิ่งที่ "โมดูล" คืออะไรและคำสั่งของฉันถูกปฏิเสธสำหรับการระบุโมดูลที่ไม่ถูกต้อง
ฉันได้ตัดสิ่งต่อไปนี้ออกแล้ว:
- การถ่ายโอนเดลต้าไม่ได้ดำเนินการบนเครือข่ายท้องถิ่น ตัดออกเพราะฉันพยายามทำการโอนผ่านทางอินเทอร์เน็ต
- ค่าใช้จ่ายเนื่องจากการคำนวณ checksum ฉันได้เห็นพฤติกรรมนี้ทั้งบนการเชื่อมต่อ Wifi ที่ช้าและช้าและอัตราการถ่ายโอนดูเหมือนจะไม่ถูกคำนวณ
rsync --stats
และ-v -v
ได้รับสถิติ verbose มากยิ่งขึ้น Rsync จะบอกคุณว่ามีการจับคู่กับข้อมูลที่ไม่ตรงกันเท่าไร
but with the exception of the last 4k page (or maybe a few) the file is identical each time.
คุณยืนยันด้วยcmp
หรือไม่ หรือดีกว่ามีxdelta
หรืออะไร หากคุณต้องการลดขนาดการถ่ายโอนให้เก็บเวอร์ชันเก่าและใหม่ไว้ในเครื่องเพื่อให้คุณสามารถคำนวณเลขฐานสองที่น้อยที่สุดในพื้นที่ การทำสิ่งนี้ในระดับบันทึกฐานข้อมูลแทนระดับไฟล์ไบนารีน่าจะดีกว่านี้อย่างที่ Derobert แนะนำ