本ブログはSAP標準のアップグレードツールである、Software Update Manager (通称SUM)を使ったアップグレードおよびコンバージョンプロジェクトのダウンタイム削減について紹介するページとなります。
ブログは以下3回を予定しており、本ブログはその3回目となります。
3.SUMダウンタイム削減(分析編) ← ここ
記事の目的
前回のブログではコンバージョンやアップグレードのプロジェクト計画時に、ダウンタイム削減の観点で考慮が必要な点を紹介しました。本ブログではSUMの実行が完了した後、SUMが出力するアップグレード分析ファイルをもとに、ダウンタイム削減の余地を分析する手法について紹介します。
対象読者
本記事の対象読者は前回のブログと同様、SAPのアップグレードやコンバージョンプロジェクトに関わることとなったSAP Basis担当者またプロジェクト管理者を想定しています。
SUMのアップグレード分析ファイル(UPGANA.xml)
SUMによるコンバージョンやアップグレード処理が正常終了すると、SUM実行の分析レポートが利用可能となります。レポートはUPGANA.xmlという名称のファイルで、<SUM directory>/abap/doc/analysis 配下に格納されます。このレポートでは次に示すような情報を確認でき、次回のSUM実行に向けたチューニングポイントを確認するための情報を提供しています。
- ソフトウェアバージョンやデータベースサイズ情報
- 選択したダウンタイム削減手法やプロセス数
- SUMの処理実行時間
- 各ステップで要した時間
- 大きなデータベーステーブル
UPGANA.xmlを使ったSUMの実行時間削減の分析
SUMの実行時間を削減するためには、SUM処理の中でも時間を要しているフェーズや処理にフォーカスして、処理時間短縮を行う必要があります。UPGANA.xmlではRoadmap Stepsというセクタを展開して表示すると、SUMにおける詳細な処理ステップ単位での実行時間を確認することが可能です。
例えば、下の図のようにExecutionフェーズでは合計で18時間45分の処理時間を要しており、その中でもXPRAS_AIMMRGという処理に11時間22分の処理時間を要しているということが確認できます。
このようにSUM処理の中でも長時間の実行時間を要している処理を見つけ、その改善方法を探索し、解決策を実装することでSUM処理の実行時間を削減が可能となります。
SUM処理の中でも長時間実行される処理は多くのお客様で共通しているため、改善方法はSAP Noteで提供されているケースが多いです。そのため、まずは改善したい処理名称でSAP Note検索を行ってください。
ここからは、良く参照される処理名とSAP Noteをいくつか紹介いたします。
EU_CLONE_MIG_DT_RUN
この処理はNon HANAのソースDBからターゲットのHANA DBにデータをマイグレーションする処理で、R3loadプロセスが使われる処理となります。SUMのDatabase Migration Option(通称DMO)を使用した時に実行される処理になります。
本処理のパフォーマンスの分析方法はSAP Note 2597701 – Performance analysis for EU_CLONE_MIG_DT_RUN phaseやSAP ブログ Optimizing DMO Performanceに記載があります。SAP Noteやブログ では以下のようなパフォーマンス改善策が提示されています。
・ソースDBのパラメータチューニングやHANA DBのパラメータチューニング
・CPU使用率を元にしたR3loadプロセスの調整
・Benchmarking toolを使ったテーブル分割数の調整
XPRAS_AIMMRG
この処理はアプリケーション固有の変換、調整、データ統合などが実施される処理でABAPプロセスが使われる処理となります。
本処理のパフォーマンス分析方法はSAP Note 1947874 – Performance analysis for XPRAS_AIMMRG phase や SAP Note 2351294 – S/4HANA System Conversion / Upgrade: Measures to reduce technical downtime などに記載があります。ABAPワークプロセスの数の増加やSHDB_PFW_CONFテーブルの更新による並列度設定の増加などが、パフォーマンス改善策として提示されています。
上記の例以外にも、プログラムやカーネルの不具合によりSUMの処理速度が低下するケースが稀に存在します。
TABIM_UPG
この処理はSAP名称領域に属するテーブルに追加データをローディングするフェーズでR3transプロセスが使われる処理となります。クライアントの数や使用言語の数によって実行時間が増加しますが、SAP Note 2786696 – Performance enhancement for TABIM_UPG phase for non-multi tenancy systems for 7.73 kernelに該当するカーネルを利用している場合、不自然に処理時間が長期化します。解決策としては、不具合に該当しないカーネルへアップグレードする必要があります。
PARRUN_MKPF2_S4
この処理はMATDOC変換を行う処理でABAPプロセスが使われる処理となります。本処理が実行するSQLが最適化されていないため、処理時間が長期化する問題がありました。そのため、SAP Note 2682698 – Verification performance improvements in PARRUN_MKPF2_S4 がリリースされ、プログラムおよびSQLの改善が提供されています。
このように、プログラムやカーネルの不具合で処理時間が長期化するケースもあるため、SAP Note検索で確認できた改善策を適用しても問題が解消しない場合は、SAPインシデントに登録して解決策を調査いただくことを推奨します。
Technical Downtime Optimization app
ここまでに紹介したUPGANA.xmlファイルを使用したSUMの実行時間の分析を自動的に行ってくれるツールが以下で提供されています。
https://launchpad.support.sap.com/#/downtimeoptimization
本ツールではSUMの全実行時間に占める各処理の時間の割合や長時間実行処理を改善するための推奨事項、またnZDMやZDOなどのダウンタイム削減オプションを使用した際のシミュレーション結果などを提供します。
本アプリの使用方法や詳細については以下のSAP Noteやブログをご確認ください。
SAP Note 2881515 – Introduction to the Technical Downtime Optimization App
Downtime Optimization – Get insights using the new TDO app
https://blogs.sap.com/2020/09/16/downtime-optimization-get-insights-using-the-new-tdo-app/
まとめ
ここまで全3回のブログを通じ、SUMダウンタイム削減の概要、計画フェーズにおける考慮点、UPGANA.xmlを使った実行時間削減分析について紹介いたしました。本ブログがSAPのコンバージョン、アップグレードプロジェクトのダウンタイム削減に向けた参考情報となれば幸いです。
最後に、本ブログについてのコメントや実プロジェクトでのフィードバックをコメント欄にいただけると非常にありがたいです。ぜひよろしくお願い致します。また、関連する情報の収集のために、ソフトウェアロジスティクスのブログフィードやコミュニティリソースをぜひフォローください。