« ホールシステム・アプローチ―1000人以上でもとことん話し合える方法 | メイン | PHPのセッションについて »

パラレルBzip2

         

bzip2が圧縮率がいいので汎用的に使っているが、最近あまりにも遅く(5時間半ほどかかる。)ので調査。
(DBのダンプファイルで)

並列処理をしていないらしい。

         

と言うわけで調べたところ
 -> Paralle Bzip2

SMPの効果を活かせるらしい。しかもリニアに性能向上。(公式サイトによれば97%程度
と肉薄している。)

インストールはYUMで。

# yum info pbzip2
Repository base is listed more than once in the configuration
Repository addons is listed more than once in the configuration

Available Packages
Name : pbzip2
Arch : x86_64
Version : 1.0.5
Release : 1.el5.rf
Size : 33 k
Repo : dag
Summary : Parallel implementation of bzip2
URL : http://compression.ca/pbzip2/
License : BSD
Description: PBZIP2 is a parallel implementation of the bzip2 block- sorting file
: compressor that uses pthreads and achieves near-linear speedup on SMP
: machines.

#yum install pbzip2

利用方法
 /usr/bin/pbzip2

-p12 (並列度の指定。自動検知で入るが、すべてを持っていかれるのも微妙なので指定。この場合は12)

このファイルをテスト圧縮
10930222613 10月 31 02:14 20111031-02-dump.sql

timeにて測定
# time pbzip2 -p12 --best 20111031-02-dump.sql

real 7m24.679s
user 88m22.910s
sys 0m10.273s

ちなみにシングルタスク版
# time bzip2 --best 20111031-02-dump.sql

real 61m27.443s
user 61m19.261s
sys 0m4.825s

これは大きいな。

圧縮結果
# ls -la
1056985855 10月 31 02:14 20111031-02-dump.sql.bz2

ちなみに、圧縮効果、以下に記載。
http://compression.ca/pbzip2/benchmark.html

トラックバック

このエントリーのトラックバックURL:
http://www.ostl.net/blog/mt-tb.cgi/666

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

About

2011年10月30日 22:36に投稿されたエントリーのページです。

ひとつ前の投稿は「ホールシステム・アプローチ―1000人以上でもとことん話し合える方法」です。

次の投稿は「PHPのセッションについて」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

Powered by
MT3系