概要
趣旨
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容量を節約したい場合に利用。