新しい年を迎えると、僕は毎回ウェブサーバーのログファイル一年分をアーカイブに保存する。具体的には年号をつけたフォルダにログである*.logファイルを全てぶっ込み圧縮・クラウドストレージにでもアップロードするのだ。

© DiMTRX – “Zipper Lines” – Creative Commons: Attribution, Noncommercial, No Derivative Works

ちなみ2015年のログファイルは全部で700MB弱ほどあった。クラウドストレージにアップロードするとはいえ、一応ローカルにも保存しておくので出来るだけサイズは減らしておきたい。こういう時、僕は7-ZipPPMdを利用する。

強くて早い7zのPPMd

7-Zipアーカイバには代表的なLZMA以外にも複数のアルゴリズムが利用出来る。一般的なバイナリファイルではLZMA2アルゴリズムを利用することが多いが、大きなテキストファイルを圧縮する場合はPPMdが殆どの場合有利に働くようだ。

今回、7-Zipでログファイルを圧縮するにあたり、実際にLZMA2とPPMdの二つのアルゴリズムで試してみた。その結果、LZMA2が24MBほど、PPMdが22MBほどになった。たかだか数MBほどの違いしかないが、かかった時間が明らかに違った。圧倒的にPPMdが早いのだ。測ったわけではないが、LZMA2のほうがPPMdより3倍ほど時間がかかったように思う。

大きなテキストファイルを圧縮するには、やはり速くて小さいPPMdを使わない手はないだろう。ログ以外にもデータベースファイルや大きなCSVファイルなどを圧縮するのに活躍するだろう。

まあ、そんな機会、年に何回あるんだって話ではあるのだが。

ピピピピピピ・・・