概要
SEが何ヶ月も調査しているはずなのに一向に解決しない性能問題。ギブアップ寸前の問題の相談を受け、解決に導いていくプロセスを現場の視点で紹介します。性能改善の現場ではメインフレームの本質が見えてきます。
3.1 性能評価・改善プロジェクトの進め方(第3、4フェーズ)
性能評価・改善プロジェクトは4つのフェーズで実施しています。(再掲)
第1~2フェーズで、重要なオンラインプログラムのレスポンス時間・バッチプログラムの処理時間の分布を表2のように整理しました。2秒以上で明らかな排他待ちは1箇所だけで(プログラムxxx0011の2~3秒)、その他は全て自身の処理で時間がかかっていることとその原因がわかりました。
具体的な改善項目は、大小合わせて20を超えています。
前回2.3で紹介したプログラム(xxx0001)のロジック改善では、データベースの不要な排他待ちが削減され、デッドロックも起きにくくなり、システム全体の性能が大幅に改善される結果となりました。
【第4フェーズ】
重要なプログラムについては性能モデルを作成します。例えば、上記プログラムの性能改善の前後だと図6のようになります。データベースのメモリ常駐化も行っているためCPU/IO頻度は20→42に上昇しています。
図6 性能モデル
本題である「売上が1.5倍になったときシステムが業務に影響を与えない」ことを検証すためには様々な考慮が必要です。
① 売上の伸びとシステムの資源使用量の関係
CPUは第1回の図1に示したとおり十分に余裕があるので、売上との厳密な関係を導く必要はありませんでした。I/Oやメモリについても検証をします。
② システムで最初にボトルネックとなる資源は何か
CPUだけとは限りません。本件では、ほとんどのプログラムが参照しているデータベースがあり、できるだけ排他待ちが起きないようにする必要がありました。お客様にはデータベースの構造や排他制御の仕組みを十分に理解して頂き、自ら考え、チューニングを実施して頂きました。
③ 多重処理が可能か
入力端末やバッチジョブの実行多重度を増やすために、タスク数や優先度の調整を行います。
④ どこまで遅くなってよいのか
ハードの性能を上げない限り処理時間は遅延します(図6の待ち時間が延びる)。現実的なサービスレベルを合意することが重要です。
更に、想定されるリスクについてもお客様と意識を合わせることが重要です。例えば、処理時間が予想以上に遅延してしまったときの対処方法など具体的に提示します。
3.2 改善結果
表2に示した状況から2週間後の改善結果を表3に示します。遅かった処理が短期間で改善している様子がわかると思います。
表3 レスポンス・処理時間の分布(改善後)
3.3 まとめ
連載一覧
筆者紹介
株式会社アイビスインターナショナル 代表取締役
1963年生まれ。1985年富士通株式会社入社。1992年~2003年まで社内共通技術部門で国内外のメインフレームの性能コンサルティングを実施、担当したシステム数は1,000を超える。2000年からは大規模SIプロジェクトへの品質コンサルティング部門も立ち上げた。
2004年に株式会社アイビスインターナショナルを設立。富士通メインフレームの性能コンサルティングとIT統制コンサルティングを行っている。
技術情報はhttp://www.ibisinc.co.jp/で公開中。富士通やSI’erからのアクセスが多い。
当サイトには、同名シリーズ「富士通メインフレームの本質を見る~IT全般統制の考え方」を3回、「富士通メインフレームの本質を見る~バッチ処理の性能評価と改善事例から」を6回、「富士通メインフレームの本質を見る~CPUリプレースの考え方」を3回、「富士通メインフレームの本質を見る~性能改善の現場」を7回、「富士通メインフレームの本質を見る~2009年度の最新トッピックス」を3回、「富士通メインフレームの本質を見る~2008年度の最新トピックス」を2回にわたり掲載。
コメント
投稿にはログインしてください