負荷をかけるソフトはJmeter2.13を使っています。
サーバーの環境はAWSで構築しました。
アプリのAPIサーバーに対して負荷テストを行っているのですが
想定している負荷をかけることができず、困っております。
負荷リクエストはかけられているのですが、具体的な値として160req/sを上限に全く上がりません。
負荷をかける側のサーバーに対して
・台数を増やす
・性能を上げる
・リクエスト数を増やす
以上のことを行いましたがスループットは上がりません。
特にリクエスト数(スレッドグループとスレッド数とループ回数)を増やすと
エラーが多く出るようになってしまいます。(90%くらい)
現状は
それなのに負荷をかける側のサーバーのCPUの使用率は6%ほどで、
サーバーを限界まで使い切れていないようです。
受け手側のサーバーもCPU使用率が10%もいかないです。
サーバー環境
APIサーバーが2台あります。
インスタンスタイプはt2.xlargeです
NginxUniconrRailsで作りました。
ELBを通しており、Auto Scalingも設定しています。
Nginxでの設定で
worker_processes Auto
worker_connections 2048
worker_rlimit_nofile 4096
worker_cpu_affinity 1000 0100 0010 0001
と設定しました。
Unicornでは
worker_processes 10
と設定しました。
データベースはpsqlを使用しており
AWSのRDSで作成しました。
db.m4.largeを使用しています。
一方Jmeter側ですが
Masterが1台、Slaveが1台です。
インスタンスタイプはm4.xlargeです。
投げているリクエストはPOSTです。ファイルなどは送信していません。
情報量もユーザーIDと投稿のID、HEADERにAuthKeyを付与してるだけです。
*追記
APIサーバー及びJmeterのMasterおよびSlaveのサーバーは
どちらもAWSで、かつ同じVPS内に立てています。
Jmeterのファイル作成はローカルで行っています。こちらもバージョン2.13です。
HEAPのメモリを上げる作業をしてみましたが、変わりませんでした。
同時接続2000を目標に捌けるよう環境構築をしたいです。
今はJmeterのバージョンを最新にしてもう一度試してみよう、、、というところです。
何か不足している情報がございましたら追加致します。
何卒宜しくお願い致します。