ฉันมีการสร้างข้อมูลบันทึกข้อมูลประมาณ 200 GB ต่อวันกระจายอยู่ในไฟล์บันทึกต่างๆประมาณ 150 ไฟล์
ฉันมีสคริปต์ที่ย้ายไฟล์ไปยังตำแหน่งชั่วคราวและทำ tar-bz2 ในไดเรกทอรีชั่วคราว
ฉันได้รับผลลัพธ์ที่ดีเนื่องจากมีการบีบอัดบันทึก 200 GB ถึงประมาณ 12-15 GB
ปัญหาคือมันใช้เวลาตลอดไปในการบีบอัดไฟล์ cronงานทำงานที่ 02:30 ทุกวันและยังทำงานต่อไปจนถึง 5: 00-6: 12:00
มีวิธีปรับปรุงความเร็วของการบีบอัดและทำให้งานเสร็จเร็วขึ้นหรือไม่ ความคิดใด ๆ
ไม่ต้องกังวลกับกระบวนการอื่น ๆ ทั้งหมดตำแหน่งที่มีการบีบอัดเกิดขึ้นบนNASและฉันสามารถเรียกใช้ NAS บนVMเฉพาะและเรียกใช้สคริปต์การบีบอัดจากที่นั่น
นี่คือการส่งออกของด้านบนสำหรับการอ้างอิง:
top - 15:53:50 up 1093 days, 6:36, 1 user, load average: 1.00, 1.05, 1.07
Tasks: 101 total, 3 running, 98 sleeping, 0 stopped, 0 zombie
Cpu(s): 25.1%us, 0.7%sy, 0.0%ni, 74.1%id, 0.0%wa, 0.0%hi, 0.1%si, 0.1%st
Mem: 8388608k total, 8334844k used, 53764k free, 9800k buffers
Swap: 12550136k total, 488k used, 12549648k free, 4936168k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
7086 appmon 18 0 13256 7880 440 R 96.7 0.1 791:16.83 bzip2
7085 appmon 18 0 19452 1148 856 S 0.0 0.0 1:45.41 tar cjvf /nwk_storelogs/compressed_logs/compressed_logs_2016_30_04.tar.bz2 /nwk_storelogs/temp/ASPEN-GC-32459:nkp-aspn-1014.log /nwk_stor
30756 appmon 15 0 85952 1944 1000 S 0.0 0.0 0:00.00 sshd: appmon@pts/0
30757 appmon 15 0 64884 1816 1032 S 0.0 0.0 0:00.01 -tcsh
tar.bz2
ไฟล์เดียวกัน
top
ผลลัพธ์ของคุณแสดงให้เห็นว่าbzip2
กระบวนการแบบเธรดเดี่ยวของคุณนั้นใช้งานได้สูงสุดหนึ่งคอร์ แต่คุณกำลังรันบนระบบควอดคอร์ (หนึ่งกระบวนการที่ใช้ CPU 100% -> 25.1%
เวลา CPU ของพื้นที่ผู้ใช้และ 74% ที่ไม่ได้ทำงาน) ดังนั้นเมื่อมีการเปลี่ยนแปลงเล็กน้อยคุณสามารถเปลี่ยนได้เร็วขึ้น 4 เท่าเว้นแต่จะมีบางอย่างกลายเป็นคอขวด อ่านคำตอบของ Gilles อย่างระมัดระวัง พิจารณาใช้ CPU ในกล่องเดียวกันกับดิสก์ที่เก็บข้อมูลเพื่อทำการบีบอัด (คุณอาจบีบอัดไฟล์บางไฟล์ของคุณในกล่องเดียวและอีกไฟล์ในอีกไฟล์หนึ่งและเก็บถาวรหลังจากนั้นจึงใช้งาน CPU ทั้งคู่)