論文

Web サービスシステムの応答性能劣化診断のための学習データ自動選定方法
植田 良一†a)角井 健太郎†爲岡 啓††

松下 誠††

井上 克郎††

Automated Training Data Selection for Performance Degradation Diagnosis of Web
Service Systems Using Machine Learning Combination
Ryoichi UEDA†a), Kentaro KAKUI†, Akira TAMEOKA††, Makoto MATSUSHITA†† and
Katsuro INOUE††

あらまし Web サービスシステムの CPU／メモリ／ネットワーク等を対象とした観測値を元に，システムの状態，特に性能異常の検知に寄与する技術を提案する．計算機システムにおける異常検知の方法は，熟練者が見出した相関に基づくルールベース方式から，過去の運用時データに機械学習等の統計処理を施すことでモデルを生成し，このモデルに基づいて異常の診断を行う統計処理方式へと変化しつつある．機械学習を応用する
方法では，診断結果の精度を上げるために事前に学習させるデータ量を十分に多くする必要があるが，機械学
習処理は計算量が多いため，やみくもに過去の全データを学習に使うことは現実的ではない．そこで我々は，選別労力をかけずに選んだ初期学習データから開始し，観測データの中から自動的に学習データに追加すべき
データを選別し，これが出現するたびに学習データへ自動的に組み入れ，モデルを逐次更新する方法を提案す
る．学習データの選別を行わずに全データ追加して学習させた場合と，我々が考案する方法で選定した部分
データのみ追加して学習させた場合とで，同じ観測データを診断し，結果を比較する評価実験を行った．その結果，我々の考案した方法で追加すべきデータを選別して学習させた場合，10 種中 7 種の実験で，全データで学習した場合と同等の診断結果が得られる事を確認した．
キーワード システム性能，性能異常，機械学習，異常検知，学習データ自動選定とその対応方法の組で表現した if-then ルールによる

1．まえがき

監視手法は，障害の検知を行うためにある程度の効果

携帯電話をはじめとする携帯端末の普及を背景に，はあるものの，ルール記述が困難，人間が認識できな

SNS やゲーム等様々なオンラインサービスが提供さい隠れたルールは記述できない，等の課題がある[8]．

れ，そのサービスを実現する Web サービスシステム

そこで，近年，収集した大量のデータを機械学習等の大規模化，複雑化が進展している．これに伴い，シの統計処理を施すことで，複雑に絡み合ったメトリク

ステムの安定稼働に向けた障害検知／原因究明を行う

ス間の関連をモデル化し，システムの正常／異常の判ために，従来のように CPU 利用率等の個々のメトリ

定，異常の根本原因究明に活用する手法が提案されてクスの監視だけでは不十分となってきた[9]．熟練者いる[5][6][7][8][9][10][11]．

が実際の運用を通じて獲得した知識を，障害判断条件

2．課題の説明
2.1†（株）日立製作所 横浜研究所，横浜
Yokohama Laboratory, Hitachi Ltd., 292 Yoshida-chou, Totsuka,
Yokohama, Kanagawa, 244-0817, Japan††
大阪大学大学院 情報科学研究科，吹田Graduate School of Information Science and Technology, Osaka
University, 1-5 Yamada-Oka, Suita, Osaka, 565-0871, Japana) E-mail: ryoichi.ueda.mb@hitachi.com

電子情報通信学会論文誌

D Vol. JXXX-D

No. X

既知の方法

これまでに提案された，機械学習による異常診断方法の代表的な 2 つを以下で紹介する．
(a) ベイジアンネットワークによる異常診断[8][9]ベイジアンネットワーク（以下 BN）は，個々の事
pp. XXX-XXX

C○(社) 電子情報通信学会 XXXX

1

電子情報通信学会論文誌

XXXX/XX

Vol. JXX-D

No. X

象の因果関係を条件付き確率で表すモデルで，観測対

そこで，我々は学習データの選定を自動化する方法

象の過去の状態を学習し，観測対象がある状態 S にを模索した．BN の学習データに，同じ状態が繰り返ある時の注目事象 E（例：応答時間が 3 秒以上となる）

し出現する回数を減らしつつ，異なる状態を多数含めの発生確率 PE を算出する事ができる．ただし，学習ることができれば，より少ないデータ量で，全データ

データに含まれる過去の状態と同じとみなされる既知で学習した場合と同等の学習効果を得る事ができるとの状態での注目事象の発生確率は計算できるが，学習考えた．刻々と収集される観測データの異常診断を行

データに含まれない未知の状態下での注目事象の発生

うと同時に，現在の状態が学習データに含まれている

確率は正しく計算できない．

かどうかの判定を行い，現在の学習データに含まれて注目事象の発生確率を正しく計算するためには学習いないと判定した場合に，その期間のデータを学習

データの量を増やすことが効果的である．しかし，データに追加して再学習する，という一連の動作を繰

データ量が増えると学習処理にかかる時間が増大し，り返せば，より少量でありながら多種の状態を含む学

実用的な時間で完了しなくなるという課題がある．学

習データを作り上げることができるとの仮説を立案し習データに含まれる観測項目数を一定にした場合，計た．現在の学習データに含まれていない状態を検知す

測回数に比例して学習時間が長くなる[2]．

るには，BN と同じ学習データを CL に学習させ，現(b) クラスタリングによる異常診断[5]在の計測値と最近傍クラスタとの距離を計算することクラスタリング（以下 CL）は，観測対象の過去ので実現できる．よって，BN と CL を上記のように組状態をグルーピングし，いくつかのクラスタに分割すみ合わせることで，学習データを自動選定する異常検る方法のひとつである．教師データが存在しない場合，知システムが実現できると考えた．

個々のクラスタに対する意味付け（例：正常時のクラスタ等）は当該クラスタに含まれる観測値から人間が判断する．
入力（学習）データとして正常時のデータのみ与え，

3. 学習データ自動選定方法
我々が提案する，学習データの自動選定手法の手順を図 1 に示す．本手法では一定の時間分の連続した観

最近傍クラスタからの距離が閾値を越える観測値を異測データの集合をデータ区画と呼び，学習データとし常と判定する診断方法が知られているが[5]，正常範ての追加要否を判定する最小単位としている．

囲の一部しか学習データに含まれない場合，正常であはじめに，(1)あらかじめ手動で選定した初期学習

るにもかかわらず異常と判定してしまう．このため，データを CL で学習，モデルを生成し，診断を開始す

異常データを含まず，かつ，正常範囲内でなるべく広る．次に(2)監視対象システムの現在の状態を収集し，い範囲を含む入力データが必要となる．この要件が十CL にて最近傍クラスタからの距離を計算し，記録す分に満たされないと，検知漏れや誤報を引き起こす可る．次に(3)当該データ区画の最後まで到達したら，能性が高くなる[5]．

(4)直近のデータ区画の CL での診断結果の平均が閾値

2.2 既知の方法の課題
機械学習を活用する方法の多くは，期待する効果を(1) Learn initial training data with CL

得るために適切に学習データを選定しなければならな
い，という共通の課題がある．現在は，学習パラメー
タの調整と合わせて，学習データの選定を人間が試行(2) Gather current data of system state,diagnose it with CL and record the result

錯誤で行う事で，この課題に対処している．
2.3 提案手法の発想
我々は，これまでの経験から，Web サービスシス
テムの運用中のほとんどの時間は安定した正常状態の範囲内にとどまり，ごく稀にこの正常状態からの逸脱が発生すると考えている．このような状況では，シス(3) Reach the end of period?

Yes(4)The average of CL diagnosis result
for last period exceeds the threshold?

Yes

No

No

テムの状態に大きな変化がない期間の膨大な観測デー(5) Add the data of last period tothe training data and learn again

タの全てを学習データに利用することは効率的ではな

図 1 学習データ自動選定手順
Figure 1 Our automated training data selection process

い．
2

論文／Web サービスシステムの応答性能劣化診断のための学習データ自動選定方法を越えていないか検査する．閾値を越える事は，監視際の負荷パターンとして，WorldCup98[1]で提供され対象システムが，当該データ区画の間，現在の学習る Web サーバへのアクセスデータの一部を活用した．

データに存在しない未知の状態にあった事を意味する．

システム全体の処理能力の差を考慮して秒間リクエス

ゆえに，閾値を越えていた場合，(5)当該データ区画

ト数を 500 分の 1 程度に縮約し，リクエストの増減パを学習データに追加し，新たな学習データで再度学習

ターンのみ維持した．また，システムの異常状態を模を行う．この再学習プロセスにより，新たな状態を含擬するために stress コマンドにて負荷を与えた．

んだ学習データによるモデルが生成される．

はじめに，あらかじめ収集されたデータの中から任上記(2)から(5)を繰り返すことで，徐々に，CL が未意の初期学習データを抽出し，CL にて学習を行い，知と判定する頻度が減少し，学習データの集合が収束モデルを生成する．次に，現在のシステムの状態をに向かい，全データと比較して少量の学習データの集

CL にて診断し，記録しておく．

合を作り上げる事ができる．

観測時刻がデータ区画の末尾に到達した際に，直近のデータ区画の，CL での診断結果の平均が閾値を越

4. 提案手法の有効性検証える場合，未学習であると判断し，当該データ区間の

我々の目的は，全データを学習した場合と同等の診データを学習データに追加し，再学習を行う．以降の断結果が得られるような，より少ないデータの集合を

診断は再学習で生成したモデルにて行う．この処理を自動的に選定する事にある．提案手法の有効性を検証

一定期間繰り返し実行後，生成された学習データが，するために，全データを学習データに追加した場合と，提案手法にて自動選定された学習データである．

提案手法によって自動選定した学習データのみ追加し最後に，自動選定された学習データの善し悪しを判た場合の，それぞれの BN による診断結果（平均応答定するために，全データを学習した場合と，提案手法

時間が 1 秒を越える確率の時系列データ）のユーク

にて自動選定した学習データのみ学習した場合の，そリッド距離と相関係数を比較することとした．全デー

れぞれの BN による診断結果のユークリッド距離と相タを学習した場合の診断結果の移動平均を

関係数を比較する．

W=(w1,w2,w3, ...)，提案手法を適用した場合の診断結4.2 実験システム構成

果の移動平均を P=(p1,p2,p3,...)とし，ユークリッド距離

実験環境（図 2）は，(1)監視対象システム，(2)トＥ，相関係数 C をそれぞれ以下の計算式で算出した．

ラフィック発生部(A)，(3)システム異常検知部(E)，か

は

,

,…,

の平均値を表す． ̅ も同様．

らなる．監視対象システムはロードバランサ(B)，
Web-AP サーバ(C1)(C2)，DB サーバ(D)からなり，
JPetStore アプリケーションが稼働している．各サーバ

Eには，CPU/Memory/Network/Disk の利用状況データを10 秒 間 隔 で 収 集 す る た め の 監 視 エ ー ジ ェ ン ト

C∑∑(collectd)が組み込まれており，システム異常検知部

̅∑̅

これにより，学習データ自動選定結果の善し悪しを判断する．
4.1 評価方法
JPetStore[3]（オンラインペット販売サイトアプリ
ケーション）に，実アクセスパターンに基づくバック
グラウンドトラフィックを与えながら，同時に，シス
テムの異常状態を模擬する負荷を，システムを構成するサーバの一部に与える．監視対象システムを構成す
る全てのサーバで監視エージェントが稼働しており，一定間隔で観測データを監視サーバに集約される．実(E)に観測データを送付する．
トラフィック発生部(A)は，あらかじめ与えたシナリオ（例：商品検索→１商品をカートに入れる→
チェックアウト）と負荷パターンに応じて，ユーザの挙動を模擬するリクエストを発生させる．
収集データの一覧を表 1 に示す．今回の実験では，
LB で#1 から#3 と#5 までの 7 項目，2 台の Web サー
バそれぞれで#1 から#4 までの合計 8 項目，DB サー
バで#1（2 コア分）と，#2, #3, #4, #6 の合計 7 項目，
計 22 項目のシステム監視で一般的なメトリクスを収集した．
監視対象システムには，指定時刻になると，当該システムの性能を劣化させる stress コマンドが実行され3

電子情報通信学会論文誌

XXXX/XX

Vol. JXX-D

No. X

るように設定した．
システム異常検知部は，各サーバ内の監視エージェ
ントが収集する観測データを蓄積し，常時異常検知をHigher load period

行いつつ，必要に応じて再学習を行う．
今回の実験では仮想サーバ環境上に，CPU:1core,

Lower load period
No load period

Memory:1GB, HDD:20GB, Network:1Gbps のリソースを持つ 2 つの Web/AP サーバ，DB サーバ，LB の合計
4 サーバを使った．DB サーバだけは 2 コアを利用した．各仮想サーバ同士がリソースを取りあう事がない
ように異なる物理サーバ上に仮想サーバを作成した．
OS は全サーバで Linux(CentOS 6.5)を採用した．ま

図 3 初期学習データのリクエスト量
Figure 3 Amount of requests for initial training data

4.3 実験方法

た，BN の実装として，統計解析環境 R[4]用ライブラ

以下の(1)から(4)に示す一連の実験プロセスを 1

リ bnlearn[2]を，CL の実装として R 標準ライブラリセットとして，合計 10 セットの実験を行った．10の k-means を活用した．CL のクラスタ数は 10 を指定

セット中 5 セットは，初期学習期間を変化させ，診断した．システムの状態数に相当するクラスタ数は過去期間を共通とした．残り 5 セットは逆に初期学習期間の運用の経験，および，事前のデータ分析により 10を共通とし，診断期間を変化させた．

～20 程度が妥当であると判断したため，モデルが最も単純となる 10 を採用した．

WorldCup98 のアクセスパターンの縮約比率を変化

表 1 監視対象メトリクス
Table 1 Metrics to be monitored#

Resource

Monitoring Items

1

CPU(DB has 2 cores,

User usage for each coreothers have 1 core)(%)

2

MemoryUsed (bytes)

3

Network (LB has 2)

Used (bps, sent+received)

4

Disk (except LB)

IOPS (ops/s)

5

Web Access(a)Request count, (b)average(only LB)

and (c)max response time (s)DB Access(a)Processed data (bytes),(only DB)(b)Written data (bytes)

6(1) 初期学習データの生成させて，(a)監視対象システムが平均応答時間 1 秒以下を維持できる程度のリクエストを処理している状態，(b)リクエストがほとんどない状態，(c)平均応答時間
が 1 秒を越える状態，の 3 つの状態が繰り返し発生する 5 時間分のデータを用意した．その中から図 3 に示
すように，(a)(b)(c)の 3 状態が現れる 50 分間のデータを異なる時間帯から選択し，初期学習データとして活用した．この 5 時間の間にはシステム障害を模擬する
負荷は与えなかった．
(2) サーバ異常の模擬生成
WorldCup98 のアクセスパターン（図 4）を再現したトラフィックをバックグラウンドトラフィックとして与えている状態で，検知すべき障害を模擬する異常を各サーバ内に作り出した．今回の実験では，CPU,
Memory, HDD の各リソースに対して stress コマンドにてユーザリクエスト処理を阻害する負荷をかけた．
(3) 提案手法による追加学習データの自動選定

図 2 実験システムの構成
Figure 2 System architecture for our experiment4

図 4 バックグラウンドトラフィックパターンの例
Figure 4 An example of background traffic pattern

論文／Web サービスシステムの応答性能劣化診断のための学習データ自動選定方法

上記(2)を実行中に 10 秒毎に収集される，40 分間の

4.4 実験結果

観測データに対し，BN にて平均応答時間が 1 秒を越

表 2 に 1 セット分の実験結果を示す．1 セットの実える確率を逐次診断する．この診断と同時に CL での験は初期学習データのみから生成したモデルで診断し最近傍クラスタからの距離計算も行い，5 分毎に直近た結果(Base)で始まり，1 データ区画を学習データに

5 分間の距離の平均が閾値 6 を越えるかどうかを判定，追加して全データを診断した結果(L1)，さらに 1 デー

越えた場合は学習データに当該 5 分間分のデータを追

タ区画を追加して全データを診断した結果(L2)，と学

加し，再度学習を行う．本実験では，各クラスタの重習データを追加するたびに番号を増やして区別できる

心ベクトルと 1 回分の観測データのベクトルを用いて，ようにした．表中の各行を Heat と呼ぶ．

正規化後ベクトル間のユークリッド距離の最小値を，

表中 Heat ID は当該実験の Heat 名を，Training Data

当該観測の最近傍クラスタからの距離として利用した．

は当該 Heat の学習データを，Avg Dist.は当該 Heat で以降の観測データに対しては，再学習で生成された初期データに組み入れたデータ区画の最近傍クラスタ

モデルで診断を行う．50 分間の初期学習データに加からの距離の平均を，Euclid.と Correlation は全データ

え，最大で 8 区画 40 分間のデータが学習データに追で学習したモデルでの BN の診断結果と，当該 Heat

加される．今回の実験では，後半 8 区画 40 分中の，のモデルでの BN の診断結果間のユークリッド距離と連続しない 3 区画でシステム異常を模擬する 5 分間の相関係数を，それぞれ表す．Euclid.が 0 に近付き，負荷を，2 台の Web サーバと DB サーバのうちいずれ

Correlation が 1 に近付くほど，Whole との類似性が高か 1 台，または 2 台，または 3 台全てに与えた．診断

い．例えば，表 2 では，L1, L2, ...と学習データを増期間を共通とした 5 セットの実験では，第 2 区画でやすごとにユークリッド距離が 0 に近付き，かつ，相Web サーバ Web_A に，第 4 区画ではもう一方の Web

関係数が 1 に近付いている．これは，学習データの追サーバ Web_B に，第 6 区画では 2 つの Web サーバに加により，全データを学習した場合と同等の診断結果

加えて，DB サーバにも負荷を与えた（図 5）．診断期を出せる学習データの集合に徐々に近づいている事を間を変化させた 5 セットの実験では，連続しない 3 区

意味する．

画で上記負荷を順不同で与えた．
(4) システム異常検知結果の比較
CL にて 40 分間の診断を終えた後，生成された学習データの善し悪しを判定するために，(a)全データを
BN にて学習し，後半 40 分を診断した結果（以下Whole）と，(b)上記(3)にて自動選定した学習データを
BN にて学習し，(a)と同一データを診断した結果の類似性を判定した．類似性判定には，ユークリッド距離と相関係数を採用した．また，学習データの追加の効果を見るために，学習データへの追加を行うたびに，新たな学習データによる診断結果と Whole との類似性を評価した．
異常検知結果の例を図 5 に示す．上段グラフの○点が BN による平均応答時間が 1 秒を超える確率 P（左軸），△点が CL による最近傍クラスタからの距離 D（右軸），横軸は経過時間（秒）を表す．下段グラフの○点が 10 秒間のリクエストの最大応答時間（左Load on
Web_A/B, DB
Load on
Web_A

Load on
Web_B

軸：秒），△点が同 10 秒間の平均応答時間（左軸：秒），＋点が同 10 秒間の処理リクエスト数（右軸：リクエスト／秒），横軸は経過時間（秒）を表す．各グ
ラフタイトルの MA=4 はグラフ上の点が隣接 4 デー
タの移動平均値である事を表す．

図 5 BN および CL での診断結果の例
Figure 5 A diagnosis result by BN and CL

5電子情報通信学会論文誌

XXXX/XX

Vol. JXX-D

No. X

表 2 実験結果：1 回分
Table 2 Experiment result for 1 turn
Heat ID

Training Data

Avg Dist.

Euclid.

Correlation

Base

Base

-

5.36

-0.16

L1

Base+0-5

20.49

3.21

0.34

L2

L1+5-10

21.97

3.03

0.38

L3

L2+15-20

6.02

0.91

0.66

L4

L3+25-30

8.79

0.16

0.98

Base の診断結果を可視化したグラフを図 6 に示す．
第 1 区画（冒頭の 5 分）で CL の計算結果（△点，右2nd period

図 7 L1 の診断結果：第 2 区画で CL(△点)が閾値を越える
Figure 7 Diagnosis result of L1, CL value exceeds the threshold at
2nd period軸）の平均が，あらかじめ我々が設定した閾値 6 を越
表 3 他の学習結果との比較
Table 3 Comparison with other training data case

えている（平均 20.49）ため，当該区画を学習データに組み入れる．組み入れた後の Heat である L1 の診断結果を図 7 に示す．L1 では第 2 区画（5～10 分）で，CL の計算結果が 6 を越えている（平均 21.97）ため，

Heat ID
L4

Training Data

Avg Dist.

Euclid.

Correlation

8.79

0.16

0.98

L3+25-30

当該区画を学習データに組み入れる．同様に L2, L3

R4

Reverse of L4

-

0.38

0.96

と処理を進めた結果である L4 の診断結果（閾値越えF4

Base+0-20

-

0.42

0.78

なし）を図 8 に示す．

0.85

S4

Base+20-40

-

1.21

この実験では第 1,2,4,6 の 4 区画を初期学習データ

C4

Base+10-30

-

1.50

0.60

に追加した L4 が最終形で，Heat が L1 から L4 まで進P4Base+0-10,30-40

-

1.49

0.43

む間に，ユークリッド距離および相関係数が共に改善された．最終的に L4 で，Whole とのユークリッド距
離が 0.16，相関係数が 0.98 となり，全 8 区画中 4 区
画の観測データで，全区画を学習した場合（図 9）と同等の診断結果が得られた．
この実験では，さらに，提案手法による学習データ
選定の妥当性を検証するために，8 区画中，L4 で選択しなかった 4 区画を学習した場合(R4)や，提案手法
による選定とは無関係に，L4 と同じ 4 区画分を，単純に 8 区画中の前半(F4)，中盤(C4)，後半(S4)の 4 区画，および，先頭と末尾の 2 区画ずつを選択した場合(P4)の診断結果との比較を行った（表 3）．

その結果，いずれも L4 の結果には及ばず，L4 がWhole に最も近い診断結果を得られる事が分かった．
同様の実験（L1 から最大 L4 まで）を 10 回行った
結果を表 4 と表 5 に示す．Exp. ID は実験 ID，Heat
ID は当該実験で提案手法を適用した場合の最終 Heat
ID または比較対象の Heat ID，Euclid.は当該 Heat と全データを学習させた結果とのユークリッド距離，
Correlation はその相関係数を示す．各実験の 1 行目は最終 Heat の結果を，2 行目に，前項で説明したような他の学習データを選定した場合で最良の結果を出した Heat の結果を比較対象として記載した．Heat ID がR で始まる Heat は，提案手法で選択しなかった区画の中から，R に続く数字分の区画をランダムに選択して学習データに追加した場合の結果を意味する．
また，Eval.には提案手法が我々の期待通りの選定

exceeds threshold
threshold

結果を出せた場合に O，そうでない場合に X を記載した．ただし，ユークリッド距離および相関係数の一方でのみ優位性が現れた，実験 Exp_Dd に関しては，
相関係数のわずかな差よりもユークリッド距離の顕著な差を重要視して O とした．

1st period(5 min)6

実験の結果，提案手法は 10 種中 7 種の実験で期待
図 6 Base の診断結果
Figure 6 Diagnosis result of Base

する結果を出す事ができた．また，初期学習データを

論文／Web サービスシステムの応答性能劣化診断のための学習データ自動選定方法

実際に，実験 Exp_Sc では我々の提案手法が選定しなかった区画だけを学習した Heat R4 が，提案手法で選定した区画を学習した Heat L4 に準じる結果を出したが，R4 の学習に使った各区画から直前の区画（L4に含まれている）の影響が残っている先頭の 1 分間
（各区画 5 分の先頭 1 分）のデータを取り除いて実験を行った結果，相関係数が 0.96 から-0.03 へ，ユーク
リッド距離が 0.38 から 2.62 へと変化し，類似性が極
図 8 L4 の診断結果：CL の閾値越えなし
Figure 8 Diagnosis result of L4, CL value does not exceed
the threshold, then compare with Whole

変更した場合と，診断データを変更した場合の実験結果に顕著な違いは見られなかった．

めて低くなるという現象を確認した．
表 4 初期学習データを変更した場合の実験結果
Table 4 Result of experiments with different initial training data
Eval.
X

Exp. ID
Exp_Sa以上から，提案手法は大量の観測データの中から学
習データとして利用すべき部分データを自動的に選択

L4

0.66

0.36

R4

0.60

0.88

L2

2.57

0.95

R2

3.19

0.95

O

Exp_Sc

L4

0.16

0.98

R4

0.38

0.96

X

Exp_Sd

L4

1.27

-0.07

R4

0.73

0.28

O

Exp_Se

L4

1.26

0.37

R4

1.31

0.30

今回の実験では再学習の発生頻度が上がりすぎないようにするために 5 分の固定長で各区画を区切り，こCorrelation

Exp_Sbの学習時間の短縮に貢献できる事が分かった．
4.5 結果の考察

Euclid.

O可能である事，また，BN の学習時間は学習データ量に比例するため[2]，ひいては，異常診断を行う BN

Heat IDの区切りに合わせて監視対象システムへ負荷をかけている．しかし，結果を詳細に分析したところ，観測データが表す負荷はこの 5 分区画の境界を越えて次の

表 5 診断データを変更した場合の実験結果
Table 5 Result of experiments with different diagnosis data

区画に影響を及ぼしている事が分かった．これにより，提案手法で選定した区画の次の区画を学習すると選定

Eval.

Exp. ID

区画の一部を学習したのと同じ効果が得られる可能性

O

Exp_DaX

Exp_Dbがあると考えられる．
この状況を勘案すると，負荷の影響の始まりと終わりを正しく認識して学習データに組み入れ，かつ，再学習の発生頻度を一定以下に制御することが，今後のO

Exp_Dc

改良点としてあげられる．
OO

Exp_DdExp_DeHeat ID
L2

Euclid.

Correlation

1.27

0.90

R2

1.45

0.90

L2

1.34

0.90

R2

0.97

0.95

L3

0.39

0.97

R3

3.50

0.88

L3

0.57

0.80

R3

2.42

0.85

L3

0.97

0.95

R3

3.37

0.72

5. 関連研究
Ira Cohen らは[8]にて，我々の提案手法と同類のTAN(Tree-Augmented Bayesian Network)を活用して，様々なメトリクス観測結果とシステムの状態を関連付
図 9 Whole の診断結果
Figure 9 Diagnosis result of Whole

ける技術を発表した．Steve Zhang らは[9]にて，本手法を拡張して，直近の区画の観測データから生成した
7

XXXX/XX

電子情報通信学会論文誌

Vol. JXX-D

No. X

新モデルが，当該区画の診断において，現行モデル集

タを学習データに組み入れる際のデータ区画長の決定

合内のどのモデルよりも良い診断結果を出した場合，方法があると考える．本実験では，CL の判定閾値とこの新モデルをモデル集合に追加する診断方法を提案

して，既学習データに対しては十分に大きいと人間がした．この手法では複数のモデルを結合するのに比べ，判定した 6 を，また，データ区画の分割方法として固我々の手法では学習データを結合する点が異なる．学定長 5 分を，それぞれ採用したが，後者に関してはそ

習データの結合処理がデータファイルの単純な結合での問題点を確認した．将来は，前者に関しては自動化実現できるのに比べ，モデルの結合は時間のかかる複を，後者に関しては CL の出力結果が急激に大きくな

雑な処理となる．

るエッジを捉えてから，急激に小さくなるまでの，可Satoshi Iwata らは[10]にて，性能劣化の根本原因を推定する方法を発表した．システムを構成する各サー

変長のデータ区画を採用し，かつ，再学習の頻度が上がりすぎないように制御するのが適切と考える．

バでの処理時間の平均／中央／最大／最小をメトリク
スとしてクラスタリングを行い，原因の判明している
既知のインシデントと同じクラスタに属する新規イン
シデントは同じ原因で発生していると推定する．事前に人手による分析を終えた学習データ（教師データ）を必要とする事が我々の手法と異なる点である．
Thanh H. D. Nguyen らは[11]にて，システムの性能
劣化原因の自動特定技術を発表した．この技術はまず，事前の性能テストで性能計測データと性能劣化原因の文

献[1] WorldCup98 Site Access Data, http://ita.ee.lbl.gov/
html/contrib/WorldCup.html[2] bnlearn - an R package for Bayesian network learning andinference http://www.bnlearn.com/[3] JPetStore, http://sourceforge.jp/projects/sfnet_
ibatisjpetstore/downloads/jpetstore4/4.0.5/
iBATIS_JPetStore-4.0.5.zip/[4] The R Project for Statistical Computing, http://www.rproject.org/index.html

ペアを複数収集し，これを教師データとする．次に，[5] 鈴木 英明, 内山 宏樹, 湯田 晋也, "データマイニングによる発生中の事象が教師データのどれと類似しているかを

異 常 検 知 技 術 ", 日 本 オ ペ レ ー シ ョ ン ズ ・ リ サ ー チ 学 会 ,機械学習アルゴリズムにて同定することで事象の原因を 推 定 す る ． 学 習 デ ー タ 量 削 減 の た め に Control
Charts を利用する．17 種の機械学習アルゴリズムに

pp.506-511, Sep., 2012.
[6] E. Stehle, K. Lynch, M. Shevertalov, C. Rorres, and S. Mancoridis,"Diagnosis of Software Failures Using Computational Geometry",
26th IEEE/ACM International Conference on Automated Softwareて，それぞれの 6 種の性能劣化原因の究明率を比較しEngineering (ASE 2011), Lawrence, KS, USA, Nov., 2011.

た結果，1 原因あたり 4 つの学習データを準備するこ[7] E. Stehle, K. Lynch, M. Shevertalov, C. Rorres, and S. Mancoridis,とで，74-80%の精度で原因究明できる事を確認した．
少量ではあるが，事前に人手による分析を終えた学習
データ（教師データ）を必要とする事が我々の手法と異なる点である．

6．むすび"On the use of Computational Geometry to Detect Software Faults
at Runtime", 7th International Conference on Autonomic
Computing, ICAC 2010, Washington, DC, USA, Jun., 2010.
[8] I. Cohen, M. Goldszmidt, T. Kelly, J. Symons, J.S. Chase,"Correlating instrumentation data to system state: A building block
for automated diagnosis and control", USENIX Association
OSDI'04: 6th Symposium on Operating Systems Design and
Implementation, 2004.

Web サービスシステムの CPU／メモリ／ネット[9] S. Zhang, I. Cohen, M. Goldszmidt, J. Symons, A. Fox,

ワーク等の利用状況の観測値を元に，機械学習を活用"Ensembles of Models for Automated Diagnosis of System

してシステムの状態，特に性能異常の検知に寄与する，

Performance

学習データの自動選定手法を考案した．

Dependable Systems and Networks, Yokohama, Japan, Jun. 2005.

オンライン販売システムを使い，あらかじめ用意しProblems",

The

International

Conferenceon[10] S. Iwata, K. Kono, "Clustering Performance Anomalies Based on
Similarity in Processing Time Changes", IPSJ Transactions on

た初期学習データに加えて，提案手法で自動選定した

Advanced Computing Systems, Vol.5 No.1 1-12, Jan. 2012.

学習データを追加した場合の診断結果と，全データに[11] T.H.D. Nguyen, M. Nagappan, A.E. Hassan, M. Nasser, P. Flora,

よる診断結果の類似性を判定する評価実験を行った結果，10 種中 7 種で，より少量のデータで全データ学
習と同等の学習効果が得られることを確認した．
今後の課題として，(1)CL での既学習／未学習を判定する際の閾値の決定方法，および，(2)未学習デー
8"An

Industrial

Case

Study

of

AutomaticallyIdentifying

Performance Regression-Causes", MSR'14, Hyderabad, India, May.,2014.

論文／Web サービスシステムの応答性能劣化診断のための学習データ自動選定方法

縦 26.4mm
横 20mm植田良一（非会員）1994 大阪大学大学院卒．2015（株）日立製
作所横浜研究所．現在，クラウド分野の研究に従事．

縦 26.4mm

角井 健太郎（）横 20mm

縦 26.4mm

爲岡

啓（正員）

松下

誠（正員）

井上

克郎（正員）

横 20mm

縦 26.4mm
横 20mm

縦 26.4mm
横 20mm

（平成 XX 年 XX 月 XX 日受付，XX 年 XX 月 XX 日再受付）

9電子情報通信学会論文誌

Abstract
We propose an automated training data selection method
for response time degradation diagnosis of web service
systems using low-level metrics such as CPU and network
usage. Our method uses clustering to decide if data in latest
period should be included in the training data as
unobserved state of the system or not, and if necessary thedata would be included and learn again with the new
training data. As this process goes on, smaller set oftraining

data

than

whole

data

is

extracted.

Weexperimentally evaluated our method and made sure its
effectiveness in 7 out of 10 patterns.
key words
Web Service System, Response Time Degradation,
Machine Learning, Failure Detection, Automated Training
Data Selection

10

XXXX/XX

Vol. JXX-D

No. X