IVP Internet Value Provider IVP Co. Ltd.IVP Internet Value Provider IVP Co. Ltd.

  • タイトル

パフォーマンス診断 (自社製品ERS_V6.5) 第5回 続・負荷試験の結果と考察

 | 

○3台構成時 (Windowsサーバー2台にIIS CentOS(Linux)サーバーにpostgresをインストールして使用)
サーバー構成

試験方法

2台構成時の時も記載したとおり、回線とWEBサーバーを増強させます。
WEBサーバーがそれぞれ100Mbpsで通信するのでJmeterをインストールしている負荷試験機は1Gbpsで接続しています。ローカル側通常どおりすべて1Gbpsで接続されている状態です。

試験結果

1台構成、2台構成の時とも比較したいので改めて結果を下記に記載しています。
表1

実データーはWEBサーバーは大体同じになってしまうので1台をピックアップして結果を記載します。

表2

○考察
トップページはもともとサーバーのリソースには余裕があり、ネットワークがボトルネックになっており、
回線もWEBサーバーも2倍に増強されたので同時アクセス数も2倍となりました。
商品検索についてはWEBサーバーが2台に増強されても2倍とはなりませんでした。
これは、特に3秒以内の結果を試験結果にするという前提条件があるのでこういう結果になりました。
この構成でもDBサーバのCPUやWait にはまだ余裕があるのでWEBサーバーがボトルネックになっているようです。
さらに商品検索のアクセスに耐えれる構成にしたい場合はWEBサーバーの増強という手段が考えれます。
購入については2台構成の時と比較すると秒間13アクセスから秒間28アクセスに増加しています。
DBサーバーを見るとCPU使用率が高くないもののI/O Wait が3.72と増加しています。
DBサーバーはもう少し負荷に耐えれるのでボトルネックはWEBサーバーと考えれます。
商品検索、購入商品とも単純に2倍とならなかったのは試験の誤差や前提条件によるものと考えられます。

まとめ

WEBとDBを同居させて1台構成からWEBサーバーとDBサーバーの2台構成、
WEBサーバー2台とDBサーバー1台のパターンで試験を実施した結果、TOPページはまず回線がボトルネックになると考えれます。
これに対応するためには回線の増強が一番現実的な手段となりそうです。
他に、画像を重視しないサイトなどの場合、画像を減らすなど帯域を抑制するというのも場合によっては有効だと考えれます。

以前は商品検索や購入処理の場合、先にDBがボトルネックになっていたのですが、
今回商品検索、購入処理はWEBサーバーがボトルネックになってしまうという結果になりました。
これは開発環境(MVC)やOSの影響が大きいのと64bitのOSが使用できメモリの搭載スペックが大きく、DBのディスクIOが極端に減ったためと予想しています。
今のところはっきりとした理由がわからず、対策が打てないので出来れば調査してWEBサーバーも処理を軽くしたいです。

今回のボトルネックになりそうな箇所を洗い出すことが出来た点と、下記のように具体的な数字が出たので耐えれるアクセス数を想定する、ボトルネックの箇所を把握しておくという今回の試験の目的はある程度達成できました。

表3

次回はWEBサーバーをさらに追加していきどのような結果になるかを考察し、SSDの導入が有効かも検証します。

同時接続数を基準に今回試験を行いましたが、1分あたりのスループット(PV/min)を出しているお客様が多いので
Jmeterの定数スループットタイマという機能で1分あたりのPVを調節して負荷をかける方法で計測をし直しました。

表4

 

同時接続数を基準とした時よりも定数スループットタイマを使用した時の方が同じPV/minでも良いレスポンスタイムが得られています。
これはJmeterでの負荷のかかり方によるものと思われます。

同時接続数基準の場合の負荷の掛け方
5スレッド2回ループの場合
図1
スレッドを立ち上げ、レスポンスが返り次第、
次のループを実行する
定数スループットタイマ使用時の負荷の掛け方
5スレッド2回ループの場合
図2
白の間をPV/minに合わせて調整
スレッド数だけ立ち上げ、定数スループットタイマ指定値のPVに合わせて次のループを実行する

同時接続数基準の負荷の掛け方が休み無く次々にアクセスしていくのに対して、定数スループットタイマを使用するとPV/minに合わせて負荷を調整するので定数スループットタイマを使う方が負荷の掛かり方が少なくなり、良いレスポンスタイムが計測できたのだと思います。

購入のスレッド数、PV/minが逆転した結果となっておりますが、この程度の差であれば誤差の範囲かと思います。