LoginSignup
0
0

More than 5 years have passed since last update.

tarコマンドでの並列圧縮onSSD

Posted at

概要

趣旨

tarで並列圧縮ができるというので、SSDでの効果を試してみる。
tarでシングル圧縮では遅くて使いものにならない。
並列圧縮にはpigzを使う。

環境

Virtualbox上のRACDB環境を流用。DB#1をNFSクライアント、DB#2をNFSサーバとし、DB#1からDB#2のACFS上にtarで圧縮ファイルを作成。
仮想DISKは全て同一のSSD上に配置しているので競合する。
DB#1を8vCPUに設定。

設定

pigzパッケージダウンロード

ゲストはInternetに接続していないので、PCにダウンロードしてからrpmでインストールする。
Oracle Linux7だとyum serverのEPELフォルダにあるが、Oracle Linux6にはないので下記から落とす。大抵のLinuxで動くらしい。すばらしい。
https://dl.fedoraproject.org/pub/epel/6/x86_64/Packages/p/pigz-2.3.4-1.el6.x86_64.rpm

インストール

# rpm -ivh pigz-2.3.4-1.el6.x86_64.rpm
警告: pigz-2.3.4-1.el6.x86_64.rpm: ヘッダ V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY
準備中...                ########################################### [100%]
   1:pigz                   ########################################### [100%]
# which pigz
/usr/bin/pigz

DB#2(NFSサーバ)設定

# cat /etc/exports
/u01/app/oracle/fast_recovery_area/datastore/bkup *(rw,no_root_squash)
# /usr/sbin/exportfs -r
# chkconfig nfs on
# service nfs start
# showmount -e
Export list for odax6ha2.vbox.localdomain:
/u01/app/oracle/fast_recovery_area/datastore/bkup *

DB#1(NFSクライアント)設定

omkdir /bkup
mount -t nfs odax6ha2:/u01/app/oracle/fast_recovery_area/datastore/bkup /bkup

スクリプト作成

# cat bkup.sh
echo 1 > /proc/sys/vm/drop_caches
date
tar cvf /bkup/bkup.tar /usr > /bkup/bkup.tar.log 2>&1
date
echo 1 > /proc/sys/vm/drop_caches
date
tar cvf /bkup/bkup.tgz --use-compress-prog=pigz /usr > /bkup/bkup.tgz.log 2>&1
date
ls -l /bkup

計測

キャッシュクリア

# sh bkup.sh
2018年  5月 15日 火曜日 14:19:13 JST
2018年  5月 15日 火曜日 14:20:21 JST
2018年  5月 15日 火曜日 14:20:21 JST
2018年  5月 15日 火曜日 14:21:20 JST
合計 2454236
-rw-r--r-- 1 root root 1805312000  5月 15 14:20 2018 bkup.tar
-rw-r--r-- 1 root root    5358099  5月 15 14:20 2018 bkup.tar.log
-rw-r--r-- 1 root root  693236067  5月 15 14:21 2018 bkup.tgz
-rw-r--r-- 1 root root    5358099  5月 15 14:21 2018 bkup.tgz.log

圧縮した方が若干高速。圧縮の方がCPUを使っているがIO量の差か。

キャッシュクリアをコメント化

sh bkup.sh
2018年  5月 15日 火曜日 14:27:00 JST
2018年  5月 15日 火曜日 14:27:19 JST
2018年  5月 15日 火曜日 14:27:19 JST
2018年  5月 15日 火曜日 14:27:46 JST
合計 2459560
-rw-r--r-- 1 root root 1805312000  5月 15 14:27 2018 bkup.tar
-rw-r--r-- 1 root root    5358099  5月 15 14:27 2018 bkup.tar.log
-rw-r--r-- 1 root root  693236067  5月 15 14:27 2018 bkup.tgz
-rw-r--r-- 1 root root    5358099  5月 15 14:27 2018 bkup.tgz.log

キャッシュクリアに比較して1/3程度になっていることから、読込の負荷が高い。
逆に圧縮しない方が高速。読込量が減少した分IOが高速となり、圧縮負荷割合が高くなった。
現実的には事前に全体がキャッシュされている場合はまれなので、

結論

  • SSD利用時はIOが高速な分、圧縮による時間的メリットは少ない。
  • 時間より、DISK容量を節約したい場合に利用。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0