Virtualize サーバーを最高のパフォーマンスでご利用いただくために、以下の設定を推奨します。
Tomcat などの Web サーバーに soavirt.war をデプロイするか、Virtualizecli 実行ファイルで Virtualize アプリケーションを起動します。
例:
virtualizecli.sh -startServer -data <WORKSPACE_LOCATION> |
負荷テストを開始する前に、必ずサーバーとすべてのワークステーションの両方で仮想アセットのモニタリングを停止してください。
また、次の操作を行ってモニタリングを完全に無効にできます。
この操作は、ヘッドレス デプロイの場合、Continuous Testing Platforms のサーバーページからも行うことができます。
Virtualize で最高のパフォーマンスを得るには、次のシステム プロパティを設定し、Tomcat の server.xml にいくつかの変更を加えます。
起動時に JVM プロパティを設定し、ヒープ メモリを増やし (少なくとも4 GB)、ガベージコレクタを変更します。
Virtualizecli の場合:
virtualizecli.sh -startServer -data <WORKSPACE_LOCATION> -J-Xms2048m -J-Xmx4096m -J-server -J-XX:+UseConcMarkSweepGC -J-XX:+DisableExplicitGC -J-XX:+UseCompressedOops -J-XX:NewRatio=1 |
WAR デプロイの場合 (<TOMCAT_HOME>/bin/setenv ファイルで設定):
JAVA_OPTS=-Xms2048m -Xmx4096m -XX:+UseConcMarkSweepGC -XX:+DisableExplicitGC -XX:+UseCompressedOops -XX:NewRatio=1 |
acceptorThreadCount、enableLookups、maxThreads
の各属性を以下のように追加/更新します。例:
<Connector URIEncoding="UTF-8" acceptorThreadCount="2" connectionTimeout="20000" enableLookups="false" maxThreads="750" name="default" port="9080" protocol="HTTP/1.1" redirectPort="9443" server="Parasoft Server"/> |
これは、Tomcat に 750 スレッドの処理スレッド プールを保持するように指示します。また、アクセプタのスレッド数を 2 に設定し、DNS ルックアップを無効にします。
ファイルの下部にある Valve 要素を探します。
次のように、Valve 要素をコメントアウトします。
例:
<!--<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false" /> --> |
これにより、サーバーにアクセスするたびに、Tomcat がログの場所にログ情報を入力するのを防ぐことができます。
Windows を使用している場合、レジストリで調整できるパラメーターがいくつかあります。
次のレジストリ キーに移動します。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters |
これにより、Windows で許可される TCP 同時接続数 (MaxUserPort) が増加し、未使用の TCP ポートが再使用可能になるまでの予約時間 (TcpTimedWaitDelay) が短縮されます。
高スループットを実現するために、Linux サーバーをチューニングする必要があるかもしれません。以下に、参考となるシステム設定を示します。これらは Virtualize と負荷生成ツールに適用する必要があります。
ulimit -u 4096 |
1 人のユーザーが利用できるプロセスの最大数を設定します。java スレッドはプロセスであり、この数が少なすぎると、新しいスレッドを生成できなくなる可能性があるため、これは重要です。
sysctl -w net.ipv4.tcp_tw_reuse=1 sysctl -w net.ipv4.tcp_tw_recycle=1 |
これらは、OS がネットワーク ソケットを素早く再利用したりリサイクルしたりすることを可能にします。これは、高負荷時にはソケットが頻繁に使用されたり破棄されたりするので重要です。
sysctl.conf |
tcp のバッファを調整する必要があるかもしれません。sysctl のいくつかのパラメータは、ネットワークの設定に応じて変更できます。 詳細は Linux Tuning ドキュメントを参照してください。
Virtualize サーバーと Data Repository サーバーの間のネットワーク遅延は、できる限り最小限に抑えることをお勧めします。プロセス間のネットワーク遅延は、負荷時の Virtualize サーバーのパフォーマンスに悪影響を与えます。ユーザーがこれを達成する最も一般的な方法は、同じマシン、または可能な限り同じ場所 (同じデータセンター領域など) に配置された 2 台のマシンにインストールすることです。Data Repository サーバーは大量のメモリを消費するので、Virtualize サーバーと同じマシンにインストールする場合は、32 GB 以上の RAM を搭載したマシンを推奨します ( デプロイメントの推奨事項 を参照)。