দ্রুততম GZIP ইউটিলিটি


18

আমি দ্রুত gzip(বা জিপ) ইউটিলিটি খুঁজছি । আমার কাছে একটি এলভিএম ভলিউম রয়েছে যা 95% ফাঁকা থেকে পাওয়া যায় 0, তাই সংকোচন করা খুব সহজ। আমি সর্বাধিক দ্রুত সমাধান খুঁজছি, এবং এর সংযোজনগুলি বাদ দিয়ে সত্যিকার অর্থে কম্প্রেশনটির যত্ন নেই 0

আমি সচেতন gzip -1(হিসাবে একই gzip --fast) তবে আরও দ্রুত পদ্ধতি আছে কিনা তা ভাবছিলাম।

ধন্যবাদ।

সম্পাদনা: কিছু পরীক্ষার পর, আমি তুলনা gzip -1, lzop -1এবং pigz -1eachother সঙ্গে এবং নিম্নলিখিত ফলাফল কাছে প্রকাশিত হল,

PIGZ:

time dd if=/dev/VPS/snap | pigz -1 | ssh backup-server "dd of=/home/backupvps/snap.pigz"

104857600+0 records in
104857600+0 records out
53687091200 bytes (54 GB) copied, 2086.87 seconds, 25.7 MB/s
7093985+266013 records in
7163950+1 records out
3667942715 bytes (3.7 GB) copied, 2085.75 seconds, 1.8 MB/s

real    34m47.147s

LZOP:

time dd if=/dev/VPS/snap | lzop -1 | ssh backup-server "dd of=/home/backupvps/snap.lzop"

104857600+0 records in
104857600+0 records out
53687091200 bytes (54 GB) copied, 1829.31 seconds, 29.3 MB/s
7914243+311979 records in
7937728+1 records out
4064117245 bytes (4.1 GB) copied, 1828.08 seconds, 2.2 MB/s

real    30m29.430s

GZIP:

time dd if=/dev/VPS/snap | gzip -1 | ssh backup-server "dd of=/home/backupvps/snap_gzip.img.gz

104857600+0 records in
104857600+0 records out
53687091200 bytes (54 GB) copied, 1843.61 seconds, 29.1 MB/s
7176193+42 records in
7176214+1 records out
3674221747 bytes (3.7 GB) copied, 1842.09 seconds, 2.0 MB/s

real    30m43.846s

সম্পাদনা 2 :

এটি আমার প্রাথমিক প্রশ্নের সাথে কিছুটা সম্পর্কযুক্ত নয়, তবে time dd if=/dev/VPS/snap | lzop -1 | ssh backup-server "dd of=/home/backupvps/snap.lzop"(ব্লকের আকারটি 16 এম তে পরিবর্তিত হয়েছে) ব্যবহার করে সময় কমিয়ে আনা হবে real 18m22.442s!


1
সতর্কতা অবলম্বন করুন: timeএ জাতীয় পদ্ধতিতে ব্যবহার করা কিছুটা অন্যায় । এর জন্য ব্যবহৃত ডিডির থ্রুপুট pigzঅন্য দুটির চেয়ে কম।
হেন্ক

@ ডিভেয়েটার: সময়গুলি দেখে কেউ সিদ্ধান্ত নিতে পারে যে এখনই এনক্রিপ্ট করা এসএসএস টানেলের মাধ্যমে বাইটগুলি ঠেকানোই বাধা। আপনি কি "-c" (সংক্ষেপণ) পতাকা সহ ssh ব্যবহার করার চেষ্টা করেছিলেন এবং প্রি-সংক্ষেপককে সমীকরণ থেকে বেরিয়ে যেতে দিয়েছেন? আপনি একটি দ্রুত এনক্রিপশন অ্যালগরিদম স্যুইচ করতে পারে। একপাশে: এসএস-টানেল ছাড়াই পুনরায়-বেঞ্চমার্ক (যেমন, / dev / নালকে আউটপুট ডুবি হিসাবে ব্যবহার করা হবে)
আকিরা

সাইডেনোট হিসাবে, আপনি কি স্পার ফাইল ব্যবহার করতে পারেন ? তারপরে শূন্যগুলি ডিস্কে কোনও স্থান গ্রহণ করবে না। আপনার সংকোচনতা আরও দ্রুত হবে কারণ
ফাইলটি

@ লি-অংইআইপি আমার মনে হয় না, কারণ "ফাইলগুলি" এলভিএম ভলিউম।
ডেভিয়েটার

আহ আমি দেখি. বহন!
লি-অং ইপ

উত্তর:


14

যদি আপনি ডিফল্ট থেকে সরে যেতে আপত্তি করেন না, তবে lzopএটি এলজেডো-র একটি বাস্তবায়ন যা সংকোচন অনুপাতের চেয়ে বেশি গতির পক্ষে speed


1
অথবা .. তত্পর: code.google.com/p/snappy
আকিরা

ধন্যবাদ, আমি lzopআমার দৃশ্যের মধ্যে দ্রুততম খুঁজে পেয়েছি। এটি pigzকোনওরকমভাবে দ্রুত (সম্ভবত 0 এর অনেকের কারণে)
ডেভিয়েটার

23

যদিও আমি ব্যক্তিগতভাবে এখনও এটি ব্যবহার করি নি, আমি মনে করি সমান্তরাল জিজিপ ব্যবহার করা জিনিসগুলিকে কিছুটা গতি দিতে পারে:

জিগিপের সমান্তরাল বাস্তবায়নের জন্য দাঁড়িয়ে থাকা পিগজ হ'ল জিজিপের সম্পূর্ণরূপে কার্যকরী প্রতিস্থাপন যা ডেটা কমপ্রেস করার সময় একাধিক প্রসেসর এবং একাধিক কোরকে হিলের শোষণ করে।


1
আমি এটি নিয়মিত ব্যবহার করি এবং একাধিক কোর উপলব্ধ থাকলে সম্পূর্ণভাবে পিগজকে সুপারিশ করি। সংকোচনের স্তর পরিবর্তন করা ব্যতীত, এটি এখন পর্যন্ত সংকোচনের গতি বাড়ানোর সবচেয়ে অ্যাক্সেসযোগ্য এবং সোজা উপায়।
jgrundstad

3
সাইটটি কিছুটা অদ্ভুত দেখাচ্ছে। তবে এর দ্বারা বোকা বোধ করবেন না, পিগজ গিজিপ এবং জেলিব অন্যতম বিকাশকারী মার্ক অ্যাডলার লিখেছেন।
so_mv

দেখে মনে হচ্ছে প্রকল্পটি এই মুহূর্তে পরিত্যক্ত is
অ্যালেক্সLordThorsen 21

আমি এটিকে "স্থিতিশীল" হিসাবে ভাবতে পছন্দ করি। এটি প্রায়শই আপডেট হয় না তবে এটি আপডেট হয়।
অ্যালান ডি স্মেট

7

আপনি প্যারালাল জিজিপ (প্যাসেল এটির সাথে যুক্ত) বা প্যারালাল বিজেআইপি চেষ্টা করতে পারেন।
তত্ত্ব অনুসারে, বিজেডআইপি পাঠ্যের জন্য আরও ভাল, সুতরাং আপনি পবিজিপ চেষ্টা করতে পারেন ।


2

আপনার ডিস্কটি 30MB / s এ সীমাবদ্ধ

সমস্ত সংক্ষেপকগুলি যথেষ্ট ভাল করে। আপনি এমনকি সামান্য ধীর অথচ সর্বজনীন bzip2 ব্যবহার করে নেটওয়ার্ক ট্রান্সফার হ্রাস করতে পারেন।

$dd if=/dev/zero bs=2M count=512 | pigz -1 | dd > /dev/null
512+0 records in
512+0 records out
1073741824 bytes (1.1 GB) copied, 9.12679 s, 118 MB/s
8192+7909 records in
9488+1 records out
4857870 bytes (4.9 MB) copied, 9.13024 s, 532 kB/s
$dd if=/dev/zero bs=2M count=512 | bzip2 -1 | dd > /dev/null
512+0 records in
512+0 records out
1073741824 bytes (1.1 GB) copied, 37.4471 s, 28.7 MB/s
12+1 records in
12+1 records out
6533 bytes (6.5 kB) copied, 37.4981 s, 0.2 kB/s
$dd if=/dev/zero bs=2M count=512 | gzip -1 | dd > /dev/null
512+0 records in
512+0 records out
1073741824 bytes (1.1 GB) copied, 14.305 s, 75.1 MB/s
9147+1 records in
9147+1 records out
4683762 bytes (4.7 MB) copied, 14.3048 s, 327 kB/s

আপনি আরএসএনসি বিবেচনা করেছেন? এটি চেকসামিং করে এবং তারপরে কেবল তফাতটি জিগিপ করে।


1
আমার ডিস্কটি 30 এমবি / সেকেন্ডে সীমাবদ্ধ নয়। আমি সবেমাত্র আপনার পরীক্ষা চালিয়েছি: pigz -1: 1073741824 bytes (1.1 GB) copied, 8.6779 seconds, 124 MB/sএবং gzip -1: 1073741824 bytes (1.1 GB) copied, 11.6724 seconds, 92.0 MB/s। আমি আরএসআইএনসি সম্পর্কে চিন্তা করেছি কিন্তু এটি ফাইলটি আলাদা করে পরীক্ষা করবে এবং এটি সম্ভবত সাহায্য করবে না, কারণ বেশিরভাগ সময় অনেক কিছু পরিবর্তন হয়ে গেছে।
ডেভিয়েটার

আপনি যদি শূন্য স্থানান্তর করতে যাচ্ছেন তবে তুলনামূলকভাবে bzip2 এনকোডিংটি কতটা চিত্তাকর্ষক দেখায়। আপনি যেদিকে গতি মেপেছেন .... সাধারণ ডিএসএল লাইনের জন্য 4 এমবিট / এস পিগ্জ খুব বেশি হতে পারে ... আপনার ডিস্কটি দ্রুত হলে এটি আরও খারাপ হয় grows
জেবি

2

পুনঃ lzop এটি তার স্ট্যান্ড কনফিগারেশনে ধীর হয় ... টুইটারে অর্ধেক সময় যেতে পারে। তবে একটি আরও দ্রুত প্রতিস্থাপন আছে যা ব্লক নামে পরিচিত:

https://github.com/FrancescAlted/blosc

হুম ... এটি পোস্ট করতে এবং উত্তর পেতে যে সময় লেগেছে তা সম্ভবত আপনি যে কোনও সময় সাশ্রয়ের চেয়ে দ্বিগুণ হবেন ... এখন আমার ক্ষমা করবেন আমার 2s বুট টাইম থেকে অন্য .1 গুলি শেভ করার জন্য আমার কার্নেলটি পুনরায় কম্পাইল করার সময়।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.