【ひよこプログラマー向け】システムの稼働率の計算方法

システム稼働率とは?

例えば、こんなシステムがあったとします。

①「故障しやすいが、膨大なデータの処理を素早く処理できるシステム」

②「故障しにくいが、データの処理量も処理速度も並程度のシステム」

どちらも一長一短ですが、故障しにくい後者のほうがシステムの信頼度的には高いと言えます。どんなに高性能のシステムであっても、稼働率が低ければ信頼度も低くなってしまうわけです。

システムの信頼性は、正常に動いている時間を「稼働率」として計算し、判断材料に使うわけです。

単体のシステム稼働率の計算

システム全体の稼働率の計算には、以下の2つの要素を使います。

①平均故障間隔時間(MTBF:Mean Time Between Failures)
システムが故障してから、またシステムが故障するまでの間隔の平均時間です。故障している時間ではありません。1ヶ月に1回故障するシステムと、3ヶ月に1度故障するシステムでは、後者のほうが信頼性が高いと言えます。

②平均修理時間(MTTR:Mean Time To Repair)
システムが故障してから、修理が完了するまでの間隔の平均時間です。もっと簡単に言うと、故障中の時間ってことです。修理に7日かかるシステムと、修理が1日で終わるシステムでは後者のほうが信頼性が高いですよね。

さて、これらの2つの時間を用いて稼働率を計算してみましょう。稼働率は以下の公式で表すことができます。

$${稼働率} = \frac{平均故障時間}{{平均故障時間}+{平均修理時間}}$$

複数の要素で構成されたシステム稼働率の計算

続いては、複数のシステムが繋がっている場合の稼働率計算方法について見ていきます。

直列に接続されたシステムの稼働率

図のように直列に接続されたシステムA、Bがあったとします。この場合、両方とも正常に稼働している必要があります。片方が止まってしまったらシステム全体が機能しません。

よって、 システムAの稼働率をa、システムBの稼働率をbとすると、直列に接続されたシステムの稼働率は「 \(a×b\) 」と表すことができます。

並列に接続されたシステムの稼働率

図のように並列に接続されたシステムA、システムBがあったとします。この場合、片方どちらかのシステムが起動していればシステム全体が稼働していることになります。

システムAの稼働率をa、システムBの稼働率をbとします。この場合、システムAが故障している確率は \({1}-a\) となり、システムBが故障している確率は \({1}-b\) となります。

すると、システムAとシステムBが故障している確率は \(({1}-a) × ({1}-b)\) となります。

最後に、システムAとシステムBが故障していない確率を求めればいいので、
「 \({1}-({1}-a)({1}-b)\) 」と表すことができます。

コメント

タイトルとURLをコピーしました