ฉันควรพึ่งพา lbzip2 หรือ pbzip2 อย่างไร


10

เนื่องจาก bzip2 อ้างว่าบีบอัดได้ดีที่สุด (ขนาด) ฉันจึงตัดสินใจใช้มัน เซิร์ฟเวอร์ที่ใช้งานได้มีซีพียู 24 ตัว (เสมือน) (4 ตัวจริง X5650 @ 2.67GHz) - และด้วยเหตุนี้ฉันจึงตัดสินใจค้นหาตัวแปรแบบขนาน
การใช้debian stable- ขอโทษ แต่ผมพบว่าการแข่งขันที่ดีที่สุดที่นี่ใน askubuntu - ฉันตัดสินใจที่จะใช้มองใกล้ที่และpbzip2 แต่จะเลือกแบบไหนดี? ในเสถียรภาพที่เกิดขึ้นจริงคือในรุ่นและในรุ่น นั่นอาจจะมีแนวโน้มที่จะเป็นความงาม- แต่บอกว่ามันจะยิ่งเร็วกว่าคอมพิวเตอร์แบบ Single-Core ในขณะที่การเรียกร้องที่จะสมบูรณ์เข้ากันได้กับ นอกจากนี้ฉันมีค่าเวลาของงานในท้องถิ่นขนาดใหญ่: การใช้lbzip2
pbzip21.1.1-1lbzip20.23-1pbzip2lbzip2pbzip2bzip2 v1.0.2

lbzip2

Command being timed: "tar -cjf /tmp/mapleTAsicherung.lbzip2.tar /bin /etc /lib /lib32 /opt /sbin /selinux /usr"
    User time (seconds): 2134.32
    System time (seconds): 39.24
    Percent of CPU this job got: 2099%
    Elapsed (wall clock) time (h:mm:ss or m:ss): 1:43.51
    Average shared text size (kbytes): 0
    Average unshared data size (kbytes): 0
    Average stack size (kbytes): 0
    Average total size (kbytes): 0
    Maximum resident set size (kbytes): 1509088
    Average resident set size (kbytes): 0
    Major (requiring I/O) page faults: 0
    Minor (reclaiming a frame) page faults: 1054467
    Voluntary context switches: 153901
    Involuntary context switches: 235285
    Swaps: 0
    File system inputs: 0
    File system outputs: 3460632
    Socket messages sent: 0
    Socket messages received: 0
    Signals delivered: 0
    Page size (bytes): 4096
    Exit status: 0  

การใช้ pbzip2

    Command being timed: "tar -cjf /tmp/mapleTAsicherung.pbzip2.tar /bin /etc /lib /lib32 /opt /sbin /selinux /usr"
    User time (seconds): 3158.18
    System time (seconds): 59.80
    Percent of CPU this job got: 2095%
    Elapsed (wall clock) time (h:mm:ss or m:ss): 2:33.56
    Average shared text size (kbytes): 0
    Average unshared data size (kbytes): 0
    Average stack size (kbytes): 0
    Average total size (kbytes): 0
    Maximum resident set size (kbytes): 1436320
    Average resident set size (kbytes): 0
    Major (requiring I/O) page faults: 0
    Minor (reclaiming a frame) page faults: 477683
    Voluntary context switches: 151326
    Involuntary context switches: 339246
    Swaps: 0
    File system inputs: 0
    File system outputs: 3460536
    Socket messages sent: 0
    Socket messages received: 0
    Signals delivered: 0
    Page size (bytes): 4096
    Exit status: 0

สิ่งหนึ่งที่ควรใช้? อะไรคือความแตกต่างที่สำคัญ? lbzip2ในขณะที่ฉันมีแนวโน้มต่อ


1
บันทึกย่อ: ไฟล์ที่ถูกบีบอัดด้วยbzip2 ปกติจะไม่เห็นประสิทธิภาพที่เพิ่มขึ้นเมื่อแตกไฟล์ด้วย pbzip2 อย่างไรก็ตาม pbzip2 เก็บเข้ากันได้ย้อนหลัง - พวกเขาสามารถแตกได้ด้วยยูทิลิตี้แบบเธรดเดี่ยวหรือแบบขนาน
STW

คำตอบ:


11

นี่คือแนวคิดพื้นฐานเกี่ยวกับวิธีประเมินพวกเขา

ใช้ tarball ขนาดใหญ่ที่คุณมักจะใช้ด้วย บีบอัดด้วย bzip2, pbzip2, lbzip2 วัดเวลา (นาฬิกาแขวนผนัง) และบันทึกผลลัพธ์ทั้งหมดในไฟล์ต่างๆ สิ่งนี้จะให้ขนาดไฟล์สามเท่าและสามขนาด

จากนั้นวนซ้ำทั้งสามไฟล์เอาต์พุต (เช่นการบีบอัดเอาต์พุตของ bzip2, pbzip2, lbzip2) และขยายไฟล์แต่ละไฟล์ด้วยยูทิลิตี้ทั้งสาม (bzip2, pbzip2 และ lbzip2) สิ่งนี้จะทำให้คุณเพิ่มอีกเก้าครั้ง

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

จัดทำตารางที่มี 12 แถวสำหรับจุดข้อมูลเหล่านี้ - col1: 3 ขนาดบีบอัด, เวลาบีบอัด col2: 3/9 ครั้งคลายบีบอัด, col3: 12 ยอด mems - และเลือกสิ่งที่เหมาะกับคุณที่สุด คุณควรคำนึงถึงความถี่ในการบีบอัดของคุณเทียบกับความถี่ที่คุณคลายการบีบอัด

ฉันใช้ lbzip2-0.23 แต่ฉันเขียนมันจึงไม่นับ

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

FILES=...
OUTDIR=/mnt/archive
BZ2_UTIL=...

(
  tar -c -- $FILES \
  | tee >(sha256sum >"$OUTDIR"/myfiles.tar.sha256) \
  | pv -c -N plain 2>/dev/tty \
  | "$BZ2_UTIL" \
  | pv -c -N compr 2>/dev/tty \
  > "$OUTDIR"/myfiles.tar.bz2
) 2>"$OUTDIR"/myfiles.err

"$BZ2_UTIL" -dc -- "$OUTDIR"/myfiles.tar.bz2 \
| sha256sum -c -- "$OUTDIR"/myfiles.tar.sha256

4

ฉันไม่ได้มาตรฐานบางอย่างสำหรับการเปรียบเทียบ bzip2 VS pbzip2 และ lbzip2 พร้อมกับ lzip และ plzip ที่http://vbtechsupport.com/1614/ ฉันชอบความรวดเร็วของ lbzip2 ตราบใดที่คุณมีหน่วยความจำเพียงพอ

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