負荷テストを行う時に、対象システムのピークアクセス数の想定をする必要があります。「秒間○○PV」などの指標があればよいですが、(想定)月間PVくらいのデータしかない場合が多くあります。
この記事では、月間PVからピーク時のアクセス数を想定する方法について紹介します。いろいろな考えかたがある中の一つなので、検討案の一つとして参考にしてもらえればと思います。
ピークアクセス数を検討するうえでの考慮点
月間PVはその月のアクセス数の総和となります。負荷テストを行うときに重要になるのは、アクセス数の総和ではなく、瞬間的なピークアクセス数です。考慮すべきは、対象システムのピーク特性となります。
単純に、月間300万PVを均等に割っていくと秒間1.15PVになります。
- 300万PV÷30日÷24時間÷60分÷60秒=1.15PV/秒
しかし、実際には、
- 時間帯
- 曜日
- イベント実施有無
- LINE通知有無
などによるアクセス数の差異が発生するため、ある程度の考慮が必要になっていきます。
パレートの法則(80:20の法則)でピーク特性を考えてみる
パレートの法則
差異を考慮するために「パレートの法則」を使ってみましょう。パレートの法則は、Wikipediaでは次にのように説明されています。
パレートの法則(パレートのほうそく)は、イタリアの経済学者ヴィルフレド・パレートが発見した冪乗則。 経済において、全体の数値の大部分は、全体を構成するうちの一部の要素が生み出しているという理論。 80:20の法則、ばらつきの法則とも呼ばれる。
出展:Wikipedia
もともと経済における法則ですが、日常生活の様々な場面で活用されています。今回はこの「パレートの法則」を使って、月間PVからピークアクセス数を計算していこうと思います。
月間300万PVのピークアクセス数を試算
月間アクセス数に当てはめてみると、
- 月間PVの8割は、2割の日数で稼ぎだされている
と言い換えることが可能です。月間300万PVを想定すると、
- 1日のピークアクセス=(300万PV×0.8)/(30日×0.2)=40万PV/日
となります。1日のなかでも分布の偏りが大きそうな場合は、さらに計算していきます。
- 1時間のピークアクセス=(40万PV×0.8)/(24時間×0.2)≒7万PV/時
ある程度まで試算したら、均等割りして秒間のアクセス数を計算していきましょう。
ピーク特性別の秒間アクセス数試算
ピーク特性を3つのタイプに分けて、それぞれ試算してみました。
- 均等型:ピーク性がほとんどないサイト
- 突発型:セール開始など、イベントによるピーク性があるサイト
- 超突発型:大半のアクセスがプッシュ通知の流入となっているサイト
均等型は日のアクセス数算出にパレートの法則を使いました。突発型は時まで、超突発型は分まで使っており、それ以降は均等に割って算出しています。
参考:タイプ別のピークアクセス数(月間300万PVの想定)
タイプ | 月 | 日 | 時 | 分 | 秒 |
---|---|---|---|---|---|
均等型 | 3,000,000 | 400,000 | 16,667 | 278 | 5 |
突発型 | 3,000,000 | 400,000 | 66,667 | 1,111 | 19 |
超突発型 | 3,000,000 | 400,000 | 66,667 | 4,444 | 74 |
それなりに妥当そうな数字が出たでしょうか?
まとめ
この記事では、パレートの法則を使って、月間PVからピーク時のアクセス数を想定する方法を紹介しました。
実際に利用するさいは、類似データなどを利用して妥当性を確認しつつ使ってもらえるとよいと思います。