システムパフォーマンスの本を読んで、自分も検証してみたい!と思ったけど、環境構築が手間で諦めた。。。という人、多いと思います。
本記事では、性能検証のための環境構築と、検証の観点について記載いたします。お役に立てたら幸いです。
- 本システムは、構成管理兼踏み台、負荷掛け、Web3層の3つのパートからなります。
- AWSの構成管理には CloudFormation を、各サーバのミドルウェアの管理には Ansible を使用します。
- Webアプリへの負荷掛けは JMeter サーバ/クライアントを通して行います。
- Webサーバには Apache httpd と Tomcat、アプリケーションは TERASOLUNAサンプルアプリケーションを使用します。
- DBエンジンは PostgreSQL を採用します。
-
性能検証の進め方は、「Amazon Web Services負荷試験入門」を参考にしました。
-
環境構築、性能検証に用いるファイルはgithubリポジトリで公開しています。
- 本ページです。
- CloudFormation を用いて、ELB + EC2 + RDS のオーソドックスな AWS システムを構築します。AWS構成図は以下になります。
- 構成管理サーバの Ansible を用いて、各サーバをプロビジョニングしていきます。ソフトウェア構成図は以下。
- 今回のサンプルアプリケーションに合わせた JMeter のシナリオ作成と、軽い負荷掛けで動作確認を行います。
- あらかじめ性能目標を立てておき、それを満たすようにチューニングを行います。(アプリケーションには手を加えず、インフラ面でのチューニングを行います。)
- 更にチューニング、スケールアップ等を行い、本システムの限界性能を確かめます。