コア氏は、J2EEアプリケーションのスケーラビリティを左右する主要な要素として、「アプリケーションに対する負荷の大きさ」「スレッド数」「キャッシュサイズやプールサイズ」を挙げる。さらに同氏は、「メッセージングを用いる場合はメッセージ処理にかかる遅延時間、そしてXMLを用いる場合は扱うXML文書の大きさにそれぞれ注目する。例えば非常に大きなXML文書を処理する必要があるかどうか、といった部分がポイント」と説明する。
一方、アプリケーションのアーキテクチャについても考慮が必要だ。例えば大規模なJ2EEアプリケーションではクラスタ構成をとるのが定石だが、その場合の重要なポイントとして「ローカリティを意識すること」とコア氏は強調する。ここで言うローカリティとは、クラスタにおけるデータの局所性を意味する。「セッション・アフィニティ(ユーザ・セッションを特定ノードに固定する技法)を利用してノード間でのセッション情報の共有を減らし、オーバーヘッドを最小限に抑えることも考慮すべき」という。
また、スケーラビリティが要求されるJ2EEアプリケーション開発では、その開発工程のひとつのステップとして「パフォーマンス検証」を組み入れることをコア氏は推奨している。具体的には、ユーザ・アクセスをシミュレートするテスト環境を作成し、以下に示す4種類のパフォーマンステストを実行する方法を提唱している。 |