コネクタの自動調整
サイトへの負荷が高い場合、多くのリクエストによってサイトがクラッシュし、ビジー接続数が、事前に設定した接続プールサイズを超えます。そのため、本番環境で ColdFusion サーバーやアプリケーションをデプロイする場合、コネクタを調整することが極めて重要です。
ColdFusion の過去のリリースでは、次の手順に従う必要がありました。
- アプリケーションプールを停止する。
- 接続プールサイズを手動で大きくする。
- 何らかの判断に基づいて接続を再利用する。
- Web サーバーを再起動する。
ColdFusion 2018 リリースの Performance Monitoring Toolset では、設定ページで 「自動調整を有効にする」 オプションを有効にすることができます。
このページで、しきい値の割合やプールサイズの増加率などのパラメーターを設定できるようになりました。
Performance Monitoring Toolset は、負荷の高いトラフィックに対処し、プールサイズをすばやく増加させます。
また、プールサイズの最大値を設定することもできます。サイトのプールサイズの最大値は 2000 です(デフォルト)。
自動調整がトリガーされるしきい値はプールサイズの 90 %で、プールサイズは 20 %増加します。
例えば、プールサイズが 100 の場合、次の条件で自動調整がトリガーされます。
- ビジー接続数が 90 を超えている。
- プールサイズが 120 に増加される。
自動調整中、プールサイズは自動的に増加されます。IIS を再起動する必要はありません。
- サイトがアイドルタイムアウトを超えると、自動調整中に増加されたプールサイズは、ユーザーがコネクタ設定時に設定したプールサイズにリセットされます。
- コネクタの設定時に、設定したすべてのサイトのプールサイズの合計が 500 を超える場合、server.xml にある AJP コネクタの maxThreads 属性を手動で増加させます。
- 自動調整中、プールサイズは IIS コネクタレベルで自動調整されます。CF サーバーページに は maxThreads 属性があり、これは自動調整されません。ColdFusion サーバーレベルにキューがあり、使用できるワーカースレッドがない場合、リクエストはキューに入れられます。ただし、mod_jk コネクタレベルにはこのようなキューはありません。
Apache では、ドキュメントには、「接続プールサイズの最大値は、connection_pool_size 属性を使用して設定できます。一般的に、この属性を Apache HTTP サーバーと併用することは推奨されません。Apache の場合、ツールセットはプロセスごとにスレッド数を自動検出し、最大プールサイズをこの値に設定します」と明記されています。
参照:https://tomcat.apache.org/connectors-doc/common_howto/timeouts.html
したがって、接続プールサイズは調整されません。
注意:コネクタの自動調整は IIS のみに適用されます。Apache には適用されません。
トポロジ/サイト ビュー では、どのサイトがどの ColdFusion インスタンスまたは ColdFusion クラスターに接続しているかを確認できます。
コネクタページ
概要ページには、クラスター、サイトまたはグループで設定されたすべてのサイトが表示されます。概要ページにサイトを表示するには、ColdFusion で設定されたサイトから 1 つ以上のリクエストを行います。
そのサイトのみの詳細ビューを表示するには、サイトをクリックします。クラスター内の複数のサイトに関する統合された情報を表示するには、左パネルの「コネクタ」をクリックします。
コネクタページには、最大 4 つまでサイトが表示されます。他にもサイトがある場合は、サイトドロップダウンをクリックして、各サイトを選択するか、選択を解除します。選択は自動保存されます。
サイトがクラスターに設定されている場合、ドリルダウンして各ワーカーの接続の詳細を確認できます。
ビジー接続数
ビジー接続数のグラフは、その時点におけるビジー接続数とサイトのプールサイズを表示します。グラフの自動調整マーカーにマウスポインターを合わせると、一定期間内にサイトが自動調整された回数が表示されます。アイコンの値は、選択した期間に基づいて集計されます。
平均応答時間
この時系列グラフは、サイトの ART を経時的に表示します。
クラスターのサイトリスト
クラスターでは、任意のサイトをクリックするとそのサイトの詳細ビューが表示されます。任意のサイトをクリックすると、ビジー接続数とワーカースレッドの状態が表示されます。
ローカル Apache を監視するには、jvm.config に -Dlocal_connector=true を追加します。これにより、Apache コネクタからのデータを表示できるようになります。
コネクタをインスタンスに設定してから、インスタンスをクラスターに追加した場合、コネクタは監視されません。クラスターを作成し、コネクタを設定します。
サイトの自動調整
ビジー接続数のグラフには自動調整というアイコンがあり、サイトの自動調整を示します。
グラフに表示される新しいプールサイズは、サイトの自動調整回数と、設定ページのプールサイズ割合の積です。
サイトの自動調整は、設定ページで指定した最大プールサイズに到達するまで行われます。
アラートの設定
最大プールサイズが特定のしきい値に達したときにアラートがトリガーされるように、Performance Monitoring Toolset を設定できます。
サイトの状態スコア
状態スコアセクションは、サイトの負荷に基づいて、サイトの状態を示します。サイトが IIS のアイドルタイムアウトを超えた場合、サイトは非アクティブとして表示されます。
状態スコアの計算について詳しくは、状態スコアを参照してください。