はじめに
IBM i 7.4 TR7およびIBM i 7.5から保管処理における圧縮オプションとしてzLib圧縮がサポートされるようになりました。
zLib圧縮は特にPower10プロセッサーではチップに搭載されたNest Accelerator (NX) GZIPが使用されますのでPower9マシンよりも圧縮時のパフォーマンス向上が見込まれます。
Compression with ZLIB algorithm - Save Commands and APIs
今回Power Virtual ServerのPower9マシンとPower10マシンを使用する機会がありましたので、両者でのzLib圧縮のパフォーマンスを比べてみました。
バックアップ・パフォーマンス検証
検証環境
検証は以下の環境で実施しました。
最初にケース1の環境をPowerVS上で作成、検証実施後にその環境のイメージをエクスポート、Power10マシン上にデプロイすることでケース2の環境を簡単に組み上げることができました。こういう使い方が簡単にできるのはPowerVSならでは、ですね!
検証環境1 | 検証環境2 | |
---|---|---|
モデル | Power9 S922 | Power10 S1022 |
プロセッサー | 0.25 Uncapped | 0.25 Uncapped |
メモリー | 4 GiB | 4 GiB |
ディスク | 100 GiB x 5 (Tier1) | 100 GiB x 5 (Tier1) |
OS | IBM i 7.5 | IBM i 7.5 |
検証パターン
テストしたのは、複数の物理ファイル (テーブル) が配置されている約12GBのライブラリー1つをSAVLIBコマンドで保管するテストと約60GBのライブラリー1つをSAVLIBコマンドで保管するテストの2種類を行いました。どちらも圧縮なしのパターンとzLib圧縮の2パターンを実行した形です。
# | 保管対象 | 保管処理内容 |
---|---|---|
1-1 | 約12GBのライブラリー x 1 | SAVLIBで仮想テープに非圧縮で保管 |
1-2 | 約12GBのライブラリー x 1 | SAVLIBで仮想テープに*ZLIB圧縮で保管 |
2-1 | 約60GBのライブラリー x 1 | SAVLIBで仮想テープに非圧縮で保管 |
2-2 | 約60GBのライブラリー x 1 | SAVLIBで仮想テープに*ZLIB圧縮で保管 |
検証結果
上記検証パターンについて2つの検証環境での実施結果として所要時間とバックアップ・データが書き込まれた仮想テープ・イメージのサイズをまとめたのが以下の表です。
Power9, Power10いずれのマシンでも効果的に圧縮されていますが、Power9マシンでは所要時間が大幅に増えています。一方でPower10マシンでは処理速度も非圧縮時と同等 (むしろ少し速い!) という結果になりました。
なお、Power9/Power10でのzLib圧縮後のサイズ相違は圧縮メカニズム (Power10における専用ユニットの使用) の相違によるものかと思います。念のためにPower9マシン上のIBM i でzLib圧縮保管したテープ・イメージからPower10マシン上のIBM i に復元できるか、またその逆もテストしてみまして、特に問題なく復元できることを確認しました。
検証パターン1-1および1-2
(上段: 所要時間, 下段:イメージ・サイズ, 1-2のカッコ内は1-1との比較)
# | 検証環境1 (Power9) | 検証環境2 (Power10) |
---|---|---|
1-1 | 49秒 11.68 GiB |
43秒 11.68 GiB |
1-2 | 3分21秒 (4.1倍) 0.79 GiB (93.2%減) |
29秒 (0.7倍) 0.95 GiB (91.9%減) |
検証パターン2-1および2-2
(上段: 所要時間, 下段:イメージ・サイズ, 2-2のカッコ内は2-1との比較)
# | 検証環境1 (Power9) | 検証環境2 (Power10) |
---|---|---|
2-1 | 5分42秒 60.59 GiB |
3分41秒 60.59 GiB |
2-2 | 38分25秒 (6.7倍) 9.77 GiB (83.9%減) |
3分28秒 (0.9倍) 11.04 GiB (81.8%減) |
ICCでのICOSへの圧縮転送を加味したパフォーマンス比較
IBM i とICOS間のファイル転送ソリューションであるICC (IBM Cloud Storage Solutions for i) には転送時に圧縮して送る機能があります。
そこで今回、
- 非圧縮で保管した仮想テープ・イメージをICCで圧縮してICOSに転送
- ZLIB圧縮で保管した仮想テープ・イメージをICCでは非圧縮でICOSに転送
の2パターンでどのような違いがあるかを検証してみました。
以下表の検証結果は3回実施の平均です。
転送所要時間 | IBM i 上でのサイズ | ICOSでのサイズ | |
---|---|---|---|
SAVLIB非圧縮 + ICC圧縮 | 19分6秒 | 60.59 GiB | 13.67 GiB |
SAVLIB zLib圧縮 + ICC非圧縮 | 9分29秒 | 11.04 GiB | 11.04 GiB |
先ほどのバックアップ・パフォーマンス検証の結果とICCでのICOSへの転送検証を合わせて考えますと、Power10マシンでは
- ICCによる転送時の圧縮よりも保管時のzLib圧縮の方がサイズを小さくできる
- zLib圧縮と非圧縮での転送の組み合わせの方が全体の所要時間を短くできる
と言えそうです。
終わりに
IBM i でのオブジェクト保管時のzLib圧縮は、特にPower10マシンにおいてかなり有益な機能だと感じました。
また、保管時に圧縮することでICCによる転送前のイメージ・ファイルの一時な保管領域として必要なIBM i 側でのストレージ領域も小さくすることができます。そうするとPower Virtual Serverではコスト的にも有利ですよね。
もちろん対象のデータによって変動があるかと思いますので、全てのケースで効果が保証される訳ではありませんが、バックアップ・ソリューションを考える上での参考になる結果が得られたかなと思います。