tomcat サーバーの最適化
1. JDK メモリの最適化
サーバーの物理コンテンツに従って Tomcat のパフォーマンスを最適化するために関連するパラメーターを設定します。アプリケーションが必要とするメモリが最大ヒープ値を超えると、仮想マシンはメモリ オーバーフローを引き起こし、アプリケーション サービスをクラッシュさせます。したがって、一般に、最大ヒープ サイズを使用可能な最大メモリの 80% に設定することをお勧めします。 Tomcat が使用できるデフォルトのメモリは 128MB です。大規模なアプリケーション プロジェクトでは、このメモリでは不十分であるため、増やす必要があります。Windows では、Tomcat がデフォルトで使用できるメモリは 128MB です。 Unix の場合、 /bin/catalina.sh ファイルの前に次の設定を追加します。 JAVA_OPTS='-Xms [初期メモリ サイズ] -Xmx [使用可能な最大メモリ] -XX:PermSize=64M -XX: MaxPermSize=128m ' いくつかのパラメータ値を増やす必要があります。例: JAVA_OPTS='-Xms256m -Xmx512m' は、初期メモリが 256MB で、使用できる最大メモリが 512MB であることを意味します。
パラメータの詳細な説明
-server 启用jdk 的 server 版; -Xms java虚拟机初始化时的最小内存; -Xmx java虚拟机可使用的最大内存; -XX:PermSize 内存永久保留区域 -XX:MaxPermSize 内存最大永久保留区域 -Xmn jvm最小内存
32G メモリ設定例:
JAVA_OPTS="$JAVA_OPTS -Xms10g -Xmx10g -XX:PermSize=1g -XX:MaxPermSize=2g -Xshare:off -Xmn1024m
2. Tomcat スレッドの最適化
Tomcat 設定ファイルserver.xml の設定では、接続数に関連するパラメータは次のとおりです:
maxThreads: Tomcat はスレッドを使用して、受信したすべてのリクエストを処理します。この値は、Tomcat が作成できるスレッドの最大数を表します。デフォルト値は 150 です。
acceptCount: リクエストの処理に使用可能なすべてのスレッドが使用された場合に、処理キューに入れることができるリクエストの数を指定します。この数を超えるリクエストは処理されません。デフォルト値は 10 です。
minSpareThreads: Tomcat の初期化時に作成されるスレッドの数。デフォルト値は 25 です。
maxSpareThreads: 作成されたスレッドの数がこの値を超えると、Tomcat は不要になったソケット スレッドを閉じます。デフォルト値は 75 です。
enableLookups: ドメイン名を逆チェックするかどうか。デフォルト値は true です。処理能力を向上させるには、false に設定する必要があります
connnectionTimeout: ネットワーク接続タイムアウト、デフォルト値 60000、単位: ミリ秒。 0 に設定するとタイムアウトしないことを意味しますが、これは危険な設定です。通常は 30000 ミリ秒に設定できます。
maxKeepAliveRequests: Keep リクエストの数、デフォルト値は 100 です。 bufferSize: 入力ストリームのバッファ サイズ、デフォルト値は 2048 バイトです。
compression: 圧縮伝送、値はオン/オフ/強制、デフォルト値はオフ。 最大接続数に関連するパラメータは、maxThreads と acceptCount です。同時接続の数を増やしたい場合は、これら 2 つのパラメータを同時に増やす必要があります。
32Gメモリ構成例:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" maxThreads="1000" minSpareThreads="60" maxSpareThreads="600" acceptCount="120" redirectPort="8443" URIEncoding="utf-8"/>
visualvmパフォーマンス監視の使い方
1. VisualVMとは
FastDFSはjdkに付属する監視ツールです。これは、Java 仮想マシン上で実行されている Java テクノロジベースのプログラムの詳細を表示するための視覚的なインターフェイスを提供します。 VisualVM は、Java Development Kit (JDK) ツールによって取得された JVM ソフトウェア関連のデータを整理し、複数の Java アプリケーションに関するデータをすばやく表示できる方法でその情報を提供します。ローカル アプリケーションとリモート ホスト上で実行されているアプリケーションの関連データを表示できます
2. インストール方法
jkd bin ディレクトリに jvisualvm.exe ファイルがあり、それをダブルクリックして使用できます
3. jvisualvm の使用方法
1、Tomcat を管理するように JMX を設定します:
set JAVA_OPTS=-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9008 -Dcom.sun.management.jmxremote.authenticate=false - Dcom.sun.management.jmxremote.ssl=false
2. tomcat を再起動します
3. jvisualvm.exe をダブルクリックしてサーバーの IP アドレスを追加し、監視する必要がある JMX ポートを追加します
効果は次のとおりです: