システムの評価指標
レスポンスタイムやスループットなどの性能指標、RASISとMTBF・MTTR・稼働率の計算、キャパシティプランニング、TCOによる経済性評価を理解できるようになります。
ねらい
システムの良し悪しを数字で測る方法を学びます。このレッスンを終えると、性能・信頼性・経済性のそれぞれの評価指標を説明でき、MTBFとMTTRから稼働率を計算し、直列や並列に構成したときの稼働率を求められるようになります。
ストーリー
「新しいシステムは速くて、止まらなくて、安くしてほしい」。発注者の要望はいつもこの3点に集約されます。しかし「速い」「止まらない」「安い」は、そのままでは比べられません。速さはレスポンスタイム、止まらなさは稼働率、安さはTCO。あいまいな言葉を測れる数字に置き換えることが、システム評価の出発点です。
性能の指標
システムの速さを測る代表的な指標を区別しましょう。
- レスポンスタイム(応答時間)は、要求を出し終えてから応答が返り始めるまでの時間です。
- ターンアラウンドタイムは、要求を出し始めてから結果をすべて受け取り終えるまでの時間です。
- スループットは、単位時間あたりに処理できる仕事の量です。
性能を比べるための標準的な試験をベンチマークといい、トランザクション処理の性能を測るTPC、プロセッサの整数演算と浮動小数点演算の性能を測るSPECintとSPECfpが代表です。運用中の性能はモニタリングで継続的に観測します。
キャパシティプランニング
将来の利用量を見積もり、必要な機器の性能と容量を計画する活動をキャパシティプランニングといいます。処理の種類と量から負荷を見積もり、サーバやストレージの規模を決めるサイジングを行い、稼働後も容量・能力管理で継続的に把握します。能力を増やす方向には、台数を増やすスケールアウトと、1台の性能を高めるスケールアップがあります。必要な資源をあらかじめ割り当てて準備しておくことをプロビジョニングといいます。
信頼性の指標:RASISと稼働率
RASIS
システムの信頼性を評価する5つの観点の頭文字がRASISです。壊れにくさのReliability(信頼性)、使いたいときに使えるAvailability(可用性)、直しやすさのServiceability(保守性)、データが欠けたり矛盾したりしないIntegrity(完全性)、不正に強いSecurity(安全性)です。
MTBFとMTTRと稼働率
信頼性を数字にするための基本が次の2つです。
- MTBFは、故障と故障の間の平均時間、つまり「平均してどれだけ動き続けるか」です。
- MTTRは、修理にかかる平均時間、つまり「壊れたら平均してどれだけで直るか」です。
システムが動いている時間の割合が稼働率で、MTBFをMTBFとMTTRの和で割って求めます。たとえばMTBFが90時間、MTTRが10時間なら、90を100で割って稼働率は0.9です。機器の故障の起こりやすさは、使い始めと寿命の頃に高く、中間で安定するというバスタブ曲線の形で説明されます。
直列と並列の稼働率
装置を組み合わせたときの全体の稼働率は、つなぎ方で計算が変わります。
- 直列の構成では、すべての装置が動いていないと全体が動きません。全体の稼働率は各装置の稼働率の掛け算です。稼働率0.9と0.8の装置を直列につなぐと、全体は0.72に下がります。
- 並列の構成では、どれか1台が動いていれば全体が動きます。「全部が同時に止まる確率」を1から引いて求めます。稼働率0.9の装置を2台並列にすると、両方止まる確率は0.1かける0.1で0.01なので、全体は0.99に上がります。
直列は掛けるほど下がり、並列は増やすほど上がる。冗長構成が信頼性を高める理由が、この計算に表れています。装置をつなぐ道が1本しかない直列と、2本ある並列とでは、どちらか1本が生きていれば動く並列のほうが稼働率は有利になります。
経済性の指標:TCO
システムの費用は、導入時に払って終わりではありません。導入時にかかる初期コスト(イニシャルコスト)と、電気代や保守費や人件費など運用中にかかり続ける運用コスト(ランニングコスト)を合わせた総所有費用をTCOといいます。費用には、システムに直接ひも付く直接コストと、間接的にかかる間接コストの区別もあります。安く導入できても運用が高くつくことはよくあるため、経済性はTCOで評価します。
例題
次の問いに答えてください。
問1 MTBFが90時間、MTTRが10時間のシステムの稼働率はいくつですか。
問2 単位時間あたりに処理できる仕事の量を表す性能指標は何ですか。
解答と解説
問1の答えは0.9です。稼働率はMTBFをMTBFとMTTRの和で割って求めるので、90を90と10の和である100で割ります。動く時間が長く(MTBFが大きく)、直りが速い(MTTRが小さい)ほど、稼働率は1に近づきます。
問2の答えはスループットです。1件の応答の速さを表すレスポンスタイムと、量をこなす能力を表すスループットは、どちらも「速さ」の話ですが別の指標です。
応用
本試験を意識した問題を解いてみましょう。
問 稼働率が0.8の装置を2台並列に構成し、どちらか1台が動いていればシステム全体が稼働するものとします。システム全体の稼働率はいくつでしょうか。次の中から選んでください。
- 0.64
- 0.8
- 0.96
- 1.6
解答と解説
答えは3の0.96です。並列構成では「2台とも止まる確率」を1から引いて求めます。1台が止まる確率は0.2なので、2台とも止まる確率は0.2かける0.2で0.04、全体の稼働率は1から0.04を引いて0.96になります。1の0.64は、0.8どうしを掛けた直列構成の計算です。並列と直列で計算方法が逆になる点に注意してください。2の0.8は、並列にしても変わらないとした誤りで、冗長化の効果を見落としています。4の1.6は稼働率どうしを足した誤りで、稼働率は割合なので1を超えることはありません。
分からなかった点・気になった点
読み込み中です。