【コラム】

システムの評価、できてますか?

8 信頼性評価のキホン

8/25

当たり前だが、「評価」にはいろいろな視点がある。前回までは性能評価について基本的なサンプル収集の方法を紹介してきたが、次は「性能」以外の軸を考えてみよう。

まず、コンピュータのハードウェアが機械である以上、故障することだってあるわけだが、システムが業務の重要な位置を占めていれば、それだけ故障による影響も大きくなる。簡単に言えば、システムというものは「壊れたら困る」ものであり、その善し悪しの評価基準として「壊れないこと」「使えること」が重要になるのは自明なことである。で、システムが壊れやすいかどうか、つまり「信頼性」についての指標というのも、評価には必要になるわけだ。

電算機に限らず、機械の信頼性を定量化する指標は一般に様々なものが知られているが、主要なものを挙げるとすれば、だいたい以下のようなところだろう。

  • 故障率(Failure rate)
  • MTBF(平均故障間隔:Mean time between failure)
  • MTTR(平均復旧時間:Mean time to repair)
  • 稼働率(Availability)

これらの指標は初級シスアドの試験問題なんかにも出るらしいが、つまりはそれだけ基本的で、かつシステムの評価にとっては重要なものということだ。以下に、ざっとそれぞれの意味を説明しよう。

故障率

単位時間内に故障が発生する確率を表す。ある一定の期間内に何回壊れるかを「件数 / 時間」で計算した値と考えれば良い。ただ、当然時間が1ヶ月なのか10年なのかによって故障率も変化するので、時間を固定した「FIT」という単位で表すことも多い。FITは、「10億時間」内に故障する回数から求められる。10億時間に5回の故障ならば、そのキカイの故障率は「5 FIT」である。

MTBF

故障が発生して回復してから、次の故障が発生するまでの平均間隔を表すもので、計算式的には以下のようになる。

MTBF = 稼働時間の総和 / 故障回数

MTTR

故障が発生してから回復するまでの平均時間を表すもので、以下の計算式で求められる。

MTTR = 復旧にかかる時間の総和 / 故障回数

稼働率

そのキカイが使用可能な状態の割合を表す。稼働率は、MTBFとMTTRがわかれば、以下の計算式で自動的に求められる。

稼働率 = MTBF / (MTBF + MTTR)

数式だけだと筆者のような文系人間にはちょっとツライので、理解するために例を挙げて計算してみよう。

筆者の住んでいるマンションには、メインエントランス以外に複数の入り口があるのだが、各入り口に取り付けられている金属製のドアが脆弱で、とても頻繁に故障、つまり押しても引いてもビクともしない状態になる。大抵の原因は、子供が鍵を忘れて無理矢理乗り越えようとして、その体重で歪んでしまうためだ。まず、このダメなドアのMTBFを求めてみよう。住み始めてから4年の間に、ひとつのドアが故障した回数は4回である。まず稼働時間の総和は、以下の値になる(うるう年は省略)。

24(時間) * 365(日) * 4(年) = 35040(時間)

故障回数は4回なので、MTBFは以下のようになる。

35040(時間) / 4(回) = 8760(時間)

次に、MTTRを求めよう。ドアが壊れると、住民が管理人に苦情を上げ、それから修理業者に連絡が行って、しばらくすると修理される。4回の故障について、それぞれの修理に以下の時間がかかったとしよう。

1回目 24時間
2回目  10時間
3回目  58時間
4回目  6時間

MTTRは[復旧時間の総和]割る[故障回数]なので、以下のように求められる。

98(時間) / 4(回) = 24.5(時間)

MTBFとMTTRがわかったら、稼働率を求める。

8760(時間) / (8760(時間) + 24.5(時間)) = 0.997211

驚くべきことに、このドアは99%以上の稼働率である、という結果が導きだされた。あれだけ脆弱だと思っていたドアが、実は稼働率99%以上の信頼性を持つものだったわけである。

このように、定性的な感覚による評価は、えてして誤ったイメージに支配されやすい。「このメーカーのPCは、わざと壊れるように○○タイマーが仕掛けられているにチガイナイ」などと根拠のないことを考える前に、まず正確な信頼性評価ができるよう、故障回数や修理にかかった時間などのデータを残すようにしよう。

8/25

インデックス

連載目次
第25回 Webサーバの定量評価 - アクセスログとデータマイニング
第24回 「OSDL DBT-1」を試してみる - DBT-1の出力結果
第23回 「OSDL DBT-1」を試してみる - テストを実行してみよう
第22回 「OSDL DBT-1」を試してみる - テストを実行するための最終的な設定
第21回 「OSDL DBT-1」を試してみる - サンプルデータの作成
第20回 「OSDL DBT-1」を試してみる
第19回 OSDL Database Test Suiteでデータベースを評価する
第18回 トリアージ値の定量化はいかにして行われたか
第17回 トリアージ値、ご存知ですか?
第16回 セキュリティの国際基準を見てみよう
第15回 セキュリティの定量評価(1)
第14回 使いやすさの定量評価 ユーザの操作をロギングする
第13回 「使いやすさ」の定量評価
第12回 ハードディスクの温度をグラフ化する
第11回 もっと高度なS.M.A.R.T監視を体験
第10回 ハードディスクをS.M.A.R.Tで診断
第9回 Webサーバの信頼性を計算したい! - 信頼性と「バスタブ」のいろいろ
第8回 信頼性評価のキホン
第7回 身近な定量評価 - sa2で毎日のレポート
第6回 身近な定量評価その4 - Mac OS Xでの情報収集
第5回 身近な定量評価その3 - perfmon.exeで継続的に情報収集
第4回 身近な定量評価その2 - Windowsのperfmon.exeを使ってみる
第3回 定量的な評価を身近で体験してみる
第2回 定性的と定量的って?
第1回 「反省」するだけじゃダメ、失敗を評価してますか?

もっと見る



人気記事

一覧

イチオシ記事

新着記事