intra-mart Accel Platform セットアップガイド 第24版 2018-04-01

11.12.2. 負荷試験を実施する際の各種設定

  • intra-mart Accel Platform 上で負荷試験を実施する際に、設定の変更が必要となる項目について説明します。

11.12.2.1. Resin のJVMオプション設定

Javaのヒープサイズ等のJVMのオプション設定を変更してください。
設定例(設定およびオプション設定)
jvm_args  : -Xmx2048m -Dfile.encoding=UTF-8

注意

Linux系OSで、JVMオプションでtempディレクトリの指定を行わない場合、「/tmp」が利用され、cron等の設定により、定期的に「/tmp」配下の内容が削除される設定が標準で組み込まれている場合があります。
Resin では、作業用ディレクトリに展開した設定ファイル等の変更を検出した際に自動的に再起動が行われる場合があり、回避するためには下記のような設定を行います。
jvm_args  : -Xmx2048m -Dfile.encoding=UTF-8 -Djava.io.tmpdir=/var/resin-tmp
※-Djava.io.tmpdirに指定したディレクトリは事前に作成し、権限設定を行う必要があります。

11.12.2.2. 任意のユーザでログインを行うための設定

セキュア・トークン設定を無効化した上で、「 http://ホスト名:ポート番号/コンテキストパス/certification 」 にパラメータを指定してアクセスすることで任意のユーザで認証することが可能です。
設定方法はWEB-INF/conf/token-filtering-target-config/im_certification.xml の 「/certification」をコメントアウトします。
詳細は以下の通りです。
WEB-INF/conf/token-filtering-target-config/im_certification.xml
<p:entry url="/certification">
↓
<!--     <p:entry url="/certification" /> -->
これで以下のURLでログイン可能です。
http://ホスト名:ポート番号/コンテキストパス/certification?im_user=(ユーザ名)&im_password=(パスワード)
また、「&im_url」属性を付加することにより自動ログイン後に任意のアプリケーションの画面に遷移させることも可能です。
http://ホスト名:ポート番号/コンテキストパス/certification?im_user=(ユーザ名)&im_password=(パスワード)&im_url=(ログイン後に表示したいパス)

注意

デフォルトで無効化されているとおり、この設定を変更することでURL引数やPOSTリクエストでログイン可能でかつ、任意のアプリを実行させることが可能ですので、運用上で利用する場合はセキュリティ観点で問題が無いかを十分に確認の上、ご利用ください。

11.12.2.2.1. 多要素認証の確認コード検証を無効化するための設定

多要素認証機能を有効にしている場合、多要素認証が有効になっているユーザに対してはユーザコード・パスワードでの認証後に確認コードの入力を求められます。
この確認コードの検証機能を無効化し、どのような確認コードが入力された場合でも認証を OK とするためには以下のシステムプロパティを設定します。
-Djp.co.intra_mart.system.mfa.extension.app_auth.service.impl.TOTPAuthCodeVerifier.ignore_token_check=true

11.12.2.3. jsspRpc、非推奨であるformタグを利用した業務画面の試験を行うための設定

jsspRpcは、通常セッションを利用したトークンチェックが都度行われるため、ログインを行うごとにトークンチェックに必要なパラメータの値が変更します。このため、負荷試験のシナリオ生成時と同一のリクエストのパラメータを引き渡してもエラーとなってしまいます。
回避するにはWEB-INF/web.xmlを編集し、SecureJSSPServlet、および、jsspRpcServletのサーブレットパラメータ”security”の値を”false”に変更します。
WEB-INF/web.xml
<servlet>
    <servlet-name>SecureJSSPServlet</servlet-name>
    <servlet-class>jp.co.intra_mart.system.servlet.jssp.SecureJSSPServlet</servlet-class>
    <init-param>
        <param-name>security</param-name>
        <param-value>false</param-value>
    </init-param>
</servlet>
<servlet>
    <servlet-name>JsspRpcServlet</servlet-name>
    <servlet-class>jp.co.intra_mart.system.servlet.jssp.JsspRpcServlet</servlet-class>
    <init-param>
        <param-name>security</param-name>
        <param-value>false</param-value>
    </init-param>
</servlet>

11.12.2.4. 多重アクセスを想定した試験を行うための設定

多重アクセスを想定した試験を行うために、以下の値を設定します。

  • リクエスト制御
    intra-mart Accel Platform にはリクエストに対して同時に実行可能な数を制限する機能があります。複数のユーザが同時アクセスを行うような試験を行う場合は、この制限に該当し、エラーとなってしまう可能性あるため、制限数を調整します。サーバの同時処理の制限を解除するには リクエスト制御設定のthreadタグのmax属性に”0”を指定します。
    WEB-INF/conf/request-control-config.xml
    <request-control-config>
        <thread max="0">
          ...
        </thread>
    </request-control-config>
    

    リクエスト制御設定については、「 設定ファイルリファレンス 」- 「 サーバの同時処理の制限 」を参照してください。

  • データソースへの最大コネクション数
    アプリケーションサーバにより、データベースに同時に接続できる数が制限がかかる可能性があります。アプリケーションサーバのデータソース設定にて、同時に接続可能な数が十分な値となることを確認してください。
    アプリケーションサーバに Resin を利用する場合は、resin-web.xmlを編集することにより変更可能です。
    設定方法・詳細は、「 設定ファイルリファレンス 」-「 最大コネクション数設定 」を参照してください。
  • Resin のスレッド数
    Resin のスレッド数を増やす場合は、以下のファイルの該当箇所を変更してください。
    <%RESIN_HOME%>/conf/resin.properties
    # Throttle the number of active threads for a port
    port_thread_max : 256
    accept_thread_max : 32
    accept_thread_min : 4
          # keepalive_max : 512
    

注意

以上の設定は、負荷試験を行う際に必要となる設定項目です。本番の運用環境では、必ず環境に応じた適切な設定を行うようにします。