新しい年を迎えると、僕は毎回ウェブサーバーのログファイル一年分をアーカイブに保存する。具体的には年号をつけたフォルダにログである*.logファイルを全てぶっ込み圧縮・クラウドストレージにでもアップロードするのだ。
ちなみ2015年のログファイルは全部で700MB弱ほどあった。クラウドストレージにアップロードするとはいえ、一応ローカルにも保存しておくので出来るだけサイズは減らしておきたい。こういう時、僕は7-ZipのPPMdを利用する。
強くて早い7zのPPMd
7-Zipアーカイバには代表的なLZMA以外にも複数のアルゴリズムが利用出来る。一般的なバイナリファイルではLZMA2アルゴリズムを利用することが多いが、大きなテキストファイルを圧縮する場合はPPMdが殆どの場合有利に働くようだ。
今回、7-Zipでログファイルを圧縮するにあたり、実際にLZMA2とPPMdの二つのアルゴリズムで試してみた。その結果、LZMA2が24MBほど、PPMdが22MBほどになった。たかだか数MBほどの違いしかないが、かかった時間が明らかに違った。圧倒的にPPMdが早いのだ。測ったわけではないが、LZMA2のほうがPPMdより3倍ほど時間がかかったように思う。
大きなテキストファイルを圧縮するには、やはり速くて小さいPPMdを使わない手はないだろう。ログ以外にもデータベースファイルや大きなCSVファイルなどを圧縮するのに活躍するだろう。
まあ、そんな機会、年に何回あるんだって話ではあるのだが。
ピピピピピピ・・・