Server(以下、WAS)についてのパフォーマンス・チューニングに関する入門記事です。Serverを参照してください)前回は、データベース(以下、DB)との連携を行う場合のチューニング・ポイントについて解説しました。JavaBeans)についてやトランザクションについてのパフォーマンス・チューニングを解説します。「自分がかかわったEJBシステムが遅い!」とお嘆きの方はぜひ参考にしてください。Solutuionのカテゴリ「EJB/仮想化/分散技術」をご参照ください。Server(以下、WAS)のサーバ自体に対して実施するパフォーマンス・チューニング設定とEJBアプリケーションのデプロイメント・ディスクリプタ(配置記述子)に対する設定の2つがあります。今回は、WASサーバ自体に対して実施するEJBパフォーマンス・チューニング設定を解説します。EJBアプリケーションのデプロイメント・ディスクリプタの設定調整については、次回で取り上げる予定です。WASサーバの設定としては、3つのコンポーネント(ORB、EJBコンテナ、パーシステンス(永続化)・マネージャ)に対してチューニングを実施します。Broker)に対する調整を説明します。チューニング項目としては、以下の3つなどがあります。Reference)連載第2回の「WAS高速化のための主要12項目」の4番目に挙げた項目です。Reference)」に設定することにより、オブジェクト・コピー作成を省略し性能向上が期待できます。Value)」になっています。EJBクライアントとEJBが同じクラスローダーを使用している場合に、このオプションを使用できます。いい換えれば、EJBクライアントとEJBが同じEARファイルに含まれてデプロイされている必要があります。これは、端的にいうと、EJBクライアントとEJBが同じWASインスタンス(同一のJVMに導入されているということです。Reference)」オプションは、受け渡されるパラメータが非プリミティブ・オブジェクトタイプの場合にのみ、パフォーマンス向上が期待できます。「int」や「float」といったプリミティブ・オブジェクトの場合は、常にコピーが行われるために性能向上に対する効果は期待できません。com.ibm.CORBA.iiop.noLocalCopies=true」を指定することで設定できます。ORBサービスの「参照による受け渡し」指定(2)ORBのスレッド・プールのチューニングデフォルトのサイズは、最小10スレッド、最大50スレッドです。筆者の経験としては、最大スレット数がデフォルト値よりも小さく設定しても十分な場合が多いです。Viewer)を使ってプール・サイズの調整を行い、性能テストを繰り返し調整することが必要です。10スレッドぐらいからテストを行うといいでしょう。編集部注:TPVについて詳しく知りたい読者は、連載第1回の「『PMI』および『TPV』で詳細な情報を入手」をご参照くださいなお、「最大スレッド・サイズを超えたスレッド割り振りを許可」(無制限な拡張)の指定はお勧めしません。設定は、管理コンソールから行います。図1の「スレッド・プール設定」で選択したスレッド・プールに対して設定を行います。図2では、「ORB.thread.pool」を指定しているので、以下では「ORB.thread.pool」に対する設定を例示します。ORBスレッド・プールサイズの設定(ORB.thread.pool)(3)データ・フラグメント・サイズEJBクライアントとEJBとがリモート接続する場合のEJBからEJBクライアントへの返信メッセージの1リターンパケット当たりのデータのチャンク・サイズを調整できます。リターンデータのサイズが1024bytes以上の場合に、サイズ拡張を行うことにより、データパケットのフラグメント(断片化)を防ぎ、パフォーマンス向上が期待できます。com.ibm.CORBA.FragmentSize=2048」というような指定を行うことで調整可能です。メールマガジンをご購読ください。申し込みページへITmediaはアイティメディア株式会社の登録商標です。