負荷テストの進め方

目的の性能を定義する

負荷テストをはじめるためには、目的、つまり性能要件を明確にしておく必要があります。

ありがちなのは、「100人が同時アクセスしても大丈夫なこと」というような安直な要件をたててしまうことです。

性能の指標はスループットや平均応答速度なので、性能要件で定義される「性能」についてもスループットや平均応答速度で定義される必要があります

たとえば、

100人が同時アクセスしても大丈夫なこと

という要件だった場合は、次のように定義しなおす必要があります。

* スループット:10PV/s
* 平均応答速度:3秒以内

この記事では、どのように要件を整理していったらいいかをまとめます。

想定シナリオの確認

想定するシナリオを確認します。トップページのみアクセスされるシステムと、商品購入するシステムではユーザの動きが大きくことなります。

次のようなシナリオを想定していると仮定して話を進めます。

  • トップページ
  • 商品詳細
  • カートへ入れる
  • 購入手続き
  • 購入確認
  • 購入完了

この場合の、一人当たりのページビューは6PVです。

同時の定義を確認

「100人が同時」とは何でしょうか?本当に同時なのか、GoogleAnalyticsのリアルタイムアクセスを想定しているのか、深堀していく必要があります。

ここではリアルタイム検索で想定してみます。GoogleAnalyticsのリアルタイム検索は直近5分間のユーザ数を表しています。

つまり、5分間で100人のユーザが商品購入をしても耐えられること、ということができます。

想定スループットに変換する

さらに秒間のアクセス数に変換していきます。

ユーザあたり6PV必要とするので、100人で600PVに換算できます。600PVを5分間で処理する必要があるので、分間になおすと120PV(600÷5)に、秒間に直すと2PV(120÷60)になります。

アクセスの偏りがあるので、5倍程度の余裕を持たせて、10PV/sくらいを性能目標とすると良いと思います。

また、応答速度についてもユーザが待てる限界と言われている3秒以内と定義しました。

-負荷テストの進め方