はじめに
パフォーマンステストを体系的に扱った書籍というのは少ないです。
そんななか「アート・オブ・アプリケーション パフォーマンステスト (Theory in practice)」(初版 第1刷)は、「これは良い」と感じたのでメモ。
体系的な本である
この本は、「クライアント-サーバ型アプリ」及び「Web型アプリ」についてのパフォーマンステストを体系的に扱っています。
詳細な目次は以下のサイトに載っています。
トップレベルの見出しを引用すると以下の通り。
1章 なぜパフォーマンステストをするのか?
2章 効果的なアプリケーションパフォーマンステストの基礎
3章 パフォーマンステストのプロセス
4章 結果の解釈:効果的な根本原因の分析
5章 アプリケーション技術とそのパフォーマンステストへの影響
「そもそもパフォーマンステストを何でするの?」というところから、測定結果をどう解釈するか、という辺りまで扱っていることが分かります。
それがこの本の大変素晴らしいところです。
JMeterでアプリケーションに負荷を掛ける方法なんかは、試行錯誤すれば何とかなります(試行錯誤した結果、「今回使えないや」ってなるかもですが)。
ですが、「なぜ負荷を掛けるのか?」「負荷を掛けた結果をどう扱えばいいのか?」なんて知見を試行錯誤で得るためには、どれぐらいのプロジェクトをこなせばいいのか分かりません。
現実を意識している
例えば、理想的なテストなんて普通行えないということに触れていたりします。
P20では、テスト環境を以下の3つに分類していたりします。
- 実環境の正確な、もしくは非常に近い再現環境
- 実環境よりも少ないサーバで構成されるサブセットだが、サーバの仕様と階層構造は、実環境と同一
- より少ない、劣った仕様のサーバによる実環境のサブセット
理想的でない環境の場合にどうするかまでは書いてませんが、千差万別すぎて書けないでしょうから、まあ、仕方ない。
さいごに
この本は読んだからパフォーマンステストが出来ると言うタイプの本ではありません。
どちらかというとアカデミックな本だと思った方が良いです。
しかし、この本を理解することで「え?それはテスト時に考慮から漏れていた」ということが減るかと思います。