質問: 負荷をかけるソフトはJmeter2.13を使っています。 サーバーの環境はAWSで構築しました。 アプリのAPIサーバーに対して負荷テストを行っているのですが 想定している負荷をかけることができず、困っております。 負荷リクエストはかけられているのですが、具体的な値として160req/sを上限に全く上がりません。 負荷をかける側のサーバーに対して ・台数を増やす ・性能を上げる ・リクエスト数を増やす 以上のことを行いましたがスループットは上がりません。 特にリクエスト数(スレッドグループとスレッド数とループ回数)を増やすと エラーが多く出るようになってしまいます。(90%くらい) 現状は それなのに負荷をかける側のサーバーのCPUの使用率は6%ほどで、 サーバーを限界まで使い切れていないようです。 受け手側のサーバーもCPU使用率が10%もいかないです。 サーバー環境 ------ APIサーバーが2台あります。 インスタンスタイプはt2.xlargeです Nginx*Uniconr*Railsで作りました。 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のバージョンを最新にしてもう一度試してみよう、、、というところです。 何か不足している情報がございましたら追加致します。 何卒宜しくお願い致します。
回答: ELBはある程度継続的に負荷があがると自動的にスケールします。 digコマンドでELBのスケール状態を確認しましょう。 事前に負荷をかけること(暖機運転)を実施し、ELBがスケールしてから実際のテストを実施するといいかもしれません。