JMeterを使ってRailsアプリの負荷テストをやりたい 準備編
Apache JMeterはJavaで書かれた有名な負荷テストツールです。
Apache Benchやhttperfといったツールよりもより複雑な負荷テストを行うことができます。
TCPをはじめ多くのプロトコルに対応しているので、メールサーバやDBサーバの負荷テストを行うこともできます。
今回試した環境
なぜJMeterを使うの?
今回テストしたいのはRailsアプリのログイン後ページのアップロード処理の負荷テストでした。
CSRF対策として使われているauthenticity_token
の値を用意するのがab
などのツールでは簡単ではないため、JMeterを使うことにしました。
インストール
Apache JMeter
JMeterのサイトよりzipまたはtgzをダウンロードして展開します。
MacなのでGUIでポチポチやれば展開できました。
インストーラーなどはないので、適当な場所に展開してください。
MySQLのデフォルトプロンプトがシンプルすぎて辛い
MySQLのデフォルトのプロンプトはどこのMySQLサーバに繋いでいるかわかりにくくて辛いです。
MySQLクライアントのプロンプトはpromptやmy.cnfに変更設定を書いたりすれば変更できるのですが、ホスト名を含めたユーザ名\Uやホスト名\hはlocalhostに繋いだ場合表示がlocalhostになって悲しい気持ちになります。
localhostってどこのlocalなんでしょう?
ちょっと調べてみると、MYSQL_PS1という環境変数を使ってプロンプトを設定する方法があることを知りました。
こんな感じでbashrcあたりに書いておけば接続先ホスト名がhostnameになってわかりやすくなりました。
めでたしめでたし。