Click here to visit our sponsor



----------------------------------------------------------------------

 (性能改善について)

----------------------------------------------------------------------


----------------------------------------------------------------------
(設問ア)
----------------------------------------------------------------------
1.システムの概要
----------------------------------------------------------------------
 A社は大手テーマパーク運営会社である。子会社を5
社持ち、グループ企業としてテーマパークや、周辺の
ショッピングモールなどを経営している。
 A社は近年、急速に成長した企業であるが、直近は売
上・利益が減少の一途をたどっていた。この状況を打破
するため、全社的に、費用低減の実現が不可欠であると
考え、まずは細かな単位で費用を把握できる仕組みがほ
しいと考えた。
 A社情報システム部は、その仕組みを構築するため、
業務分析を行い以下のような結果をまとめた。
 a.資産数は約3万件、資産管理は各社経理部が行って
  いる。
 b.資産の購入は月初が多く、経理の月締業務と重なる。
 c.現行システムの構成は、クライアント数は20台のク
  ライアント/サーバシステムである。経理、経費管
  理はシステムとして用意されているが、資産管理は
  表計算ソフトウェアにて行っている。
 d.経理・経費システムは細かな単位での費用把握が可
  能となっている。
 これを元に、パッケージ選定を行い、資産管理業務に
限ってはソフトウェアベンダーB社のパッケージソフト
ウェアを導入することとした。
 私は、B社のシステムエンジニアであり、この資産管
理システムの導入にあたり要求分析から運用管理まで行
うことになった。

----------------------------------------------------------------------
2.テストで発生した性能上の問題点
----------------------------------------------------------------------
 私は、要求分析の結果、仕訳データの出力処理を追加
すること以外はカスタマイズの必要は無いと判断した。
A社グループにおけるシステム運用方法を変更する必要
はあるが、ソフトウェア的には変更しなくてよかった。
 そして、導入に先立ち、資産数3万件のデータを用意
し、10クライアントで性能テストを行ってみた。
 すると、1件あたり登録処理が5秒かかった。これはパッ
ケージ選定時A社とB社営業とで契約した性能要件(1件
あたり2.5秒)を大幅に上回ってしまっている。
 この性能要件は、A社の資産の購入・変更処理は月初
が多く、経理部の月締業務と重なっていることから、算
出された物であった。

----------------------------------------------------------------------
(設問イ)
----------------------------------------------------------------------
1.調査と調査結果
----------------------------------------------------------------------
 原因の調査にあたって、テスト環境のネットワーク、
データベースサーバ、プログラムを調査することにした。
 各調査は、テスト環境を使用し、以下の同一条件で行
うこととした。
 ・クライアントマシン10台がデータベースサーバ1
  台にLAN接続。他のマシン、ネットワークとは切
  り離された環境。
 ・各クライアントにて同時に10件の資産データを登
  録し、その後その10件のデータを照会する。登録、
  照会はタイマーを組み込んだテストツールにて行う。
  最大処理時間を計測するため、各処理の前にあらか
  じめデータベースキャッシュを消去することとした。
  タイマー間隔は予想処理時間、データベースキャッ
  シュ消去処理時間10秒とリスクを考慮し、20秒
  間隔とした。
 ・予想処理時間は、過去のB社パッケージ導入実績と
  テスト環境で使用するデータベースサーバのCPU
  速度で計算した。結果、登録処理1件あたり2.5
  秒、照会処理1件あたり2秒という予測値がはじき
  出された。

----
1−1.ネットワークの調査
----
 クライアントを1台にし、同じ環境でテストを行ってみ
た。しかし、結果はほぼ同等の4.9秒であった。
 また、クライアントを10台にし、ネットワーク監視
ツールを使用、ネットワークでのデータ転送量を調査し
た。しかし、データ転送待ちは発生しなかった。

----
1−2.データベースサーバの調査
----
 まず、メモリを調査することとした。OSとデータベ
ースのバッファサイズを段階的に設定し、テストを行っ
てみた。その結果、メモリの使用パターンによって、1
件あたり3.9秒で登録処理が完了するようになった。
 次に、テスト環境を元に戻し、パフォーマンスモニタ
を使用して、データベースのリソース使用率を調べた。
その結果、登録処理実行時のハードディスク使用率は1
00%に近い数値になっていた。
 もう少し詳しく調べる必要があると判断し、トレース
ツールを併用して、データベースのリソース使用率を処
理単位で調べた。
 その結果、入力されたデータをデータベースに追加す
る際のハードディスクの使用率は最高で20%程度であっ
たが、データベース検索高速化の為のインデックス再構
築時に100%となっていた。
 この結果を元に、インデックスの付け方を変更すると
ハードディスク使用率が最高40%程度に収まるように
することができた。その結果、1件あたり3.5秒にて
登録することができた。しかし、照会処理では逆に1件
あたり1秒だったのが、1.5秒になってしまった。

----
1−3.プログラムの調査
----
 資産情報の変更処理では、該当するデータに対しデー
タベース排他制御を行っている。
 しかし、このテストでは排他制御により待ち時間が発
生するパターンは試していない。これは、複数の資産情
報を変更、削除等行う業務、例えば組織変更に伴う資産
一括移動処理等が、日常ではありえない為である。

----------------------------------------------------------------------
2.分析結果
----------------------------------------------------------------------
 上記の調査結果より、クライアント数は処理時間にほ
ぼ影響せず、サーバマシンのメモリ使用方法の最適化、
データベースのインデックス付加方法の最適化を行えば
よいことがわかった。
 これらを複合して行った結果、資産情報の登録が1件
あたり2.4秒、照会が1件あたり1.5秒となり、性
能要件の登録1件あたり2.5秒、照会1件あたり2秒
を満たすことに成功した。


----------------------------------------------------------------------
(設問ウ)
----------------------------------------------------------------------
1.性能改善の結果とその評価
----------------------------------------------------------------------
 性能改善の結果、性能目標を達成することができた。
しかし、ここで2点の問題があると思われる。1つ目は、
この速度ではもう少し資産数が増加するとすぐに性能要
件を越えてしまうことになると思われること。そして、
2つ目は性能改善にかかったコストのことである。
 前者に関しては、実際に資産管理システムを稼働した
後もしばらくデータベース等の監視を続け、より改善で
きるすべはないか考えることが必要であると思われる。
しかし、その為に必要な運用コストがどこまで捻出でき
るのか、プロジェクトマネージャーを通してA社と協議
していく必要があると思われる。
 後者に関しては、データベースのチューニング等は別
途スケジューリングされていた作業ではあったが、作業
が予定より2日遅れ、納期に間に合わせるのに必死であっ
た。この分のコストは当然B社側にあるため、私はより
効率的にできなかったものかと悔しい思いをしている。

----------------------------------------------------------------------
2.性能改善を効率的に行うには
----------------------------------------------------------------------
 まず、パフォーマンスチューニングを専門に行うチー
ムがB社にあればもっとスムーズに対応ができ、コスト
も期間も抑えることが出来たと思われることである。
 専門チームであるため、専門的なノウハウをためるこ
とが出来、さまざまなツールを利用し短期間で原因を調
査・分析することができるはずである。
 また性能要件を決定する際に同席し、リソース、実績
から、より精度の高い性能要件を導き出すことができる
と思われる。
 また、ハードウェアリソースの追加やマンパワーの導
入という方法も選択肢として用意しておくべきである。
ただし、これらはコストと期間を考慮して選択すべきで
あると思う。
 以上のことが実現できれば、性能改善をより効率的に
行うことができるであろうと思う。


以上





[ 戻る ]