サーバー稼働率

サーバー

騙しに使える!稼働率「99.9%」のサーバーは優秀か?

2021年8月15日

流行病と同様、コンピューター用語にも計算のやり方次第で素人を騙せるものがあります。

ヒラニヤ
「当社のレンタルサーバの稼働率は99.9%です。滅多に落ちません。」

という宣伝文句はどう受け取るべきでしょうか。
初心者向けのネタですが、サーバー稼働率の中身についてチェックしましょう。

「稼働率」とは

先程の「稼働率99.9%のレンサバは優秀ですか?」という問いの答えは「優秀ではありません、普通です。当たり前です。それがどうした。」というのが答えです。

計算方法は簡単です。一般的には%表記する場合、次の式で計算します。

稼働時間合計÷運転時間×100

騙しに使うためのポイントは「総時間」です。時間の単位は揃っていればいいので、総時間のとり方によって、稼働率は高く見せたり低く見せたりできます。
24時間あたりの稼働率なら、で算出する、一年の稼働率なら単位を時間にするなど、使いやすいものに決めることができます。
普通は「」で計算します。

障害に該当する時間とは

障害発生中の時間」というのも微妙な言い回しです。
普通は、サーバーにあるウェブサイトやデータベースにに接続できないなどのサーバー障害が発生していた時間のことになります。サーバー障害と決めていますので「メンテナンス時間」などは普通は障害発生時間に含めません。
メンテナンス時間は「計画メンテナンス時間」のことで、予め予告していたメンテナンスのことです。

ハッキング被害にあって、すぐさまメンテナンに入ったようなケースでは、「障害発生中の時間」に含めるのが当然です(ただし、実際はそうしていない会社もあると思います)。

また、レンタルサーバー会社が利用している、ネットワーク回線や機器(プロバイダが契約しているNTTの専用線など)のトラブルは、障害発生時間に含めません

サーバー利用者側の立場にたてば、「障害発生中の時間」のかわりに「サーバーにアクセスできない時間」で計算してくれたほうがわかりやすいものです。利用するものとしては、メンテナンスであろうが、ネットワークの障害であめうが、サーバーにアクセスできないのであれば無意味なのは同じことだからです。

言葉の定義からしてズルさがあるのですが、できる限り「稼働率」を高く見せたいいきには、以上の言葉の定義を巧みに利用して計算を行います。

例えば、半日後に予定されている定期メンテナンス前に、サーバーに何がしかのエラーやトラブルが生じた時、すぐさまサーバーを停止してメンテナンスに入るのが定石ですが、ズルズルと応急処置をして施して、定期メンテナンスまで粘るなどの方法は、当然に使われます。この場合は、稼働率は普通と変わりませんので、サーバーのメンツを保つことができます。
応急処置でなんとかなる程度のものであればそれで問題ありませんが、ハッキング等の被害で情報漏えいの恐れがある場合は、それでは困ります。

3ヶ月で60分の停止があるサーバーの例

(90×24×60分-60分)÷(90×24x60分)✕ 100=99.953 %

$$ \frac{90\times24\times60-60}{90\times24\times60}\times 100 = 99.9537037 $$

一般には「当社のサーバーの稼働率は99.95%でございます」と宣伝される部分です。

では、同じ期間の稼働率が99.99%だとしたら、このサーバーは何分停止していたことになるでしょう。
逆算すると12.96分あたりになります。
つまり、0.04%の違いが47分ほどの違いになることがわかります。

同様の期間の稼働率を99.9%に設定すると129.6分の障害時間、99%にすると1296分もの障害時間が許されることになります。

サーバー名稼働率
エックスサーバー(X10プラン)99.99%
mixhost(スタンダード)99.99%
さくらレンタルサーバ(スタンダード)99.99%
ロリポップ!(スタンダード)99.99%
iCLUSTA+
100%
CPIレンタルサーバー
100%
WebARENA SuiteX
100%
ヘテムル(ベーシック)99.99%

例で挙げたレンタルサーバーを参照すればわかるように、稼働率が99.99%は当然といえます。
稼働率が100%をうたっているサーバーは明らかに差別化を狙っています。99.99%と100%は別次元の保証だということです。
ただし、100%だからといっても除外される非稼働時間(計画メンテナンス時間)なども考慮する必要はあります。

自分で算出すると理解が深まる

パーセント表記すると、大差ないように思わされがちですが、わずか0.1%の違いで、実際の稼働時間には雲泥の差があることがわかります。
稼働率というのは、実際のところユーザーにレンタルサーバー会社のサービス品質が良いとアピールするために使うもので、99パーセント以下になる数字は、まず出ません(出しません)。
ほぼ、99.9%を最底辺としてスタートしているのが普通です。

稼働率に関しては、かなり品質の悪いサーバーでも99.9%は出るということです。
そのため、稼働率は99.99%と、小数点第2位までしっかり表記されているサービスを選ぶのは極めて自然です。
逆に、稼働率が表記されていなかったり、99.9%としか明記されていないようなサービスは、品質に関しては低いと考えて良いと言えます。

また、上で紹介した単純な計算方法ではなく、少々込み入ったMTBFとMTTRから求める稼働率もあります。海外のサーバーはもっぱらこちらの方法で計算されることが多いようです。また、国内の資格試験でも普通はこちらの計算方法を使います。

MTBFとMTTRから求める稼働率

稼働率=MTBF ÷(MTBF+MTTR)

MTBF

MTBF(Mean Time Between Failure:平均故障間隔)は、サーバーの故障修復が完了して稼働を再開してから、次の故障で停止するまでの時間、つまり稼働している時間の平均値を表します。
MTBFが大きいということは、稼働し続けている時間が長いこととなり,故障が起きにくいという評価となります。

MTBF=稼働時間の合計÷故障した回数

MTTR

MTTR(Mean Time To Repair:平均修理時間)は、故障の修理によりシステムが停止している時間の平均値です。MTTRが小さいほど修理の時間が短いということになり、保守性が良いという評価になります。

MTTR=故障時間の合計÷故障した回数

直列システムと並列システムの稼働率

レンタルサーバーで一般的に使われてきた稼働率は上のようなものですが、少し込み入った複雑なサーバーシステムを構築(クラスターなど)する場合は、直列システム並列システムがあります。
詳しくは別の機会に譲るとして、直列システムの場合は個別の稼働率を掛けて、並列システムの場合は余事象を利用して求めます。

例えば、

$$ 並列システムの稼働率=1-(1-A_1)\times(1-A_2)$$

というように、全体(1)から、稼働しなかった率を引いたものが稼働率(上の式の結果に100をかけて%表示にする)です。

稼働率の実態

かつて日航機が墜落した際、一回の墜落事故だけで世界的な信頼が失われました。サーバーに関しても同様のことが言えます。
日常茶飯事的に、サーバーの再起動を繰り返して、細かい障害時間を積みまして稼働率99.98%をキープしているサービスと、たったの一回だけディスクエラーなどで一時間停止させたサーバー(稼働率99.95%)だと、どちらの方が信頼できるかは微妙です。

多くの人は一回限りの障害サーバーの方に信頼性を置くのではないでしょうか。
しかし、このような実態は普通は公開されません。すべて稼働率何%という言葉に置き換わってしまいます。
稼働率は、レンタルサーバー会社のサービス品質をアピールするために使うので、悪い数字が出ることはないのです。
実際は、サーバー会社には障害時間としてカウントすべきログが残っていたとしても、政治的な理由(営業上の理由)で「メンテナンス時間に起きたこと」みたいな後付理由を見つけ出して誤魔化すところもあります。
ごまかさずに、今回の稼働率は悪くなってしまったが、実質のサーバーは安定しているということを示したいのなら、月間稼働率年間稼働率などを示して、稼働率を下げてしまった特別の日や月が存在することを示す会社もあります。データそのものを出してくるタイプの会社は信頼していいでしょう。

障害発生中の時間の定義が、実際は好き勝手できてしまうので、稼働率が低いのはそれはそれで問題ですが、高くてもそれは当然だろうという数字でもあります。サーバーがハックされても、すぐさまメンテナンスに入らず、週末の計画メンテナンス時間にまとめて処理するとすれば、結果的に稼働率は変わりません。
また、サーバーの応答が遅くてサーバー停止状態と見間違えるケースでも、サーバーが実質上動いていれば、サーバー障害時間には含めません。

稼働率の数値だけを見て信頼性を判断するのは、早とちりになることも心得ましょう。

サービス品質保証「SLA」とは

稼働率というものは、高いに越したことはないが高いからといって、品質が必ずしも高いとまでは言えないものです。そのような中で、一定以上のサービス品質を保証する制度があり、いわゆるサービス品質保証「SLA: Service Level Agreement」というものがあります。
保障というのは、「サービス品質が下がった場合金銭的に保障する」という意味です。

稼働率においてSLA99.99%とある場合は、99.99%以上の稼働率を保証し、その数値を下回った場合は、その分だけ返金するという意味です。

「SLA」の罠

SLAが一定以上のサービス品質を保証する制度であることは述べました。
稼働率SLA99.99%として契約し、実際は99.95%だった場合、保証との差額分0.04%が返金されるということです。
サービス停止時間(障害時間)は長くても、稼働率そのものは0.0x%の違いにしかならないので、大した返金にはなりません。
失う側、つまり利用者はもっと大きのもの(契約数など)を失ってしまう可能性がありますが、それは保証されません。

稼働率100%サーバーは?

ここまで述べてきたことから、稼働率100%サーバーが存在しているのかどうか気になるところです。オマケ的なことですが、公称稼働率100%サーバーがありますので、参考にしてみてください。

サービス品質保証制度(SLA)のあるサーバー

稼働率を含めレンタルサーバーを選ぶ際の注意

稼働率そのものに目を奪われると、どのサーバー会社も優秀に見えてくるはずです。くどいですが、99%以下の数字は出しにくいのが稼働率です。
そのため、障害発生中の時間の定義がしっかり公開されている会社は良心的であると判断できます。さらに、その定義が厳しく、厳格であるもの(稼働率が低くなるようにシフトしている)を採用している会社は、プロだといえます。レンタルサーバー会社内部では、厳格に厳しく稼働率を出している会社は存在しますが、その基準を外部公開している会社はごく少数です。99%や99.9%は出来の悪い子で、99.99%は当たり前という認識でよろしいかと思います。

まとめ

  • 稼働率は99.99%が当たり前、それ以下をわざわざ選んでどうする
  • 稼働率ではサーバー停止時間の定義が緩いと当てにならない
  • 稼働率以外の指標もチェックすることが大切
  • ビジネス用なら稼働率100%を考えるべし

以上、レンタルサーバー会社選びの参考になれば幸いです。

RECOMMEND

-サーバー
-,