TOMCAT 8.5.46私はここで使用する、公式のTomcatをダウンロードし、それらを抽出し、解凍したディレクトリ以下の通りであります
、server.xml構成の最適化
confディレクトリを入力し、server.xmlファイルを開きます
1. <エグゼキュータ名=「tomcatThreadPool」... />を見つけ、次のように修正されます
< エグゼキュータの名前= "tomcatThreadPool" namePrefix = "カタリナ-exec-" maxThreadsの= "500" minSpareThreads = "80" maxQueueSize = "100" MaxIdleTimeエレメン= "60000" prestartminSpareThreads = "TRUE" />
maxThreadsの:同時、200のデフォルト設定の最大数は、一般的に決定するために、ハードウェア機能および動作に応じて、800から500までを推奨し
minSpareThreadsた:Tomcatを初期化するときに作成されたスレッドの数、デフォルト設定25
maxQueueSize:キューの最大数は、要求が拒否され越えます
MaxIdleTimeエレメン:現在のスレッドがスレッドの初期化よりも大きい場合には、アイドル状態のスレッド生存期間、ミリ秒単位、デフォルト= 60,000 = 1分60秒。
prestartminSpareThreads:値がtrueに等しくない場合Tomcatの初期化パラメータ値のminSpareThreadsが初期化すると、minSpareThreadsへの影響を欠い
2.次のように<コネクタポート=「8080」... />、変更されるを探します
< コネクタキュータ= "tomcatThreadPool" ポート= "80" にredirectPort = "8443" プロトコル= "org.apache.coyote.http11.Http11Nio2Protocol" のConnectionTimeout = "20000" MaxConnectionsを= "10000" enableLookups = "false"を acceptCountを= "100" maxPostSizeは= "10485760" maxHttpHeaderSize = "65536" 圧縮"上" = disableUploadTimeout = "true"を compressionMinSize = "2048" acceptorThreadCount = "2" processorCache = "20000" TCPNODELAY = "true"を connectionLinger = "5" はURIEncoding = "UTF-8" サーバー= "Serverバージョン11.0" compressableMimeType = "text / htmlの、text / xmlで、text / plainで、テキスト/ CSS、テキスト/ javascriptの、アプリケーション/ javascriptの" />
プロトコル:org.apache.coyote.http11.Http11Nio2Protocol上記で使用TOMCAT8、より効率的に、スタートがエラーであれば、org.apache.coyote.http11.Http11NioProtocolを使用してください。ポート8005,8009リードの変更があるかもしれません。
ConnectionTimeout:コネクタが接続を待ってからの時間(ミリ秒)を受け、デフォルト値は60,000です。
MaxConnectionsを:この値は、Tomcatへのソケット接続の最大数を表す
無効にDNSクエリ:enableLookups
acceptCountをする:スレッドの数が受け入れられた要求の最大数は、デフォルト値は100で、キューに入れられたとき時にTomcatが起動します。
maxPostSize:このプロパティを無効にするコンテナの最大長によって解決URL引数、1(0未満)、デフォルトは2097152(2M)注、FailedRequestFilterフィルタが要求を拒否するために使用することができるされている上限に達し。
maxHttpHeaderSize:HTTPリクエストヘッダ最大限、この長さの部分は無視超えます。一般8K。
圧縮:オフ(テキストデータ圧縮)が有効にGZIP圧縮を有効にするかどうかが有効になっていない、力は、すべてのデータ圧縮
disableUploadTimeoutを:このフラグは、通常、長いデータ接続タイムアウトをアップロード、異なるを使用するサーブレットコンテナを可能にします。指定しない場合、このプロパティがtrueに設定され、それがタイムアウトを無効にします。
compressionMinSize:データサイズが最小圧縮超えのみ
接続を受け入れるために、スレッドの数:acceptorThreadCountを。あなたが実際には2つ以上の必要はありませんが、マルチCPUマシン上でこの値を増やします。非あなたは、この値を増やす必要があり、接続を維持する多くのもあります。デフォルト値は1です。
processorCache:パフォーマンスを改善するためのプロトコルハンドラオブジェクトプロセッサキャッシュ。この設定は、どのくらいのキャッシュこれらのオブジェクトを決定します。-1は無制限を意味し、デフォルトは200です。あなたはサーブレット3.0非同期処理を使用しない場合、デフォルトでは同じmaxThreadsの設定を使用することです。あなたはサーブレット3.0非同期処理を使用している場合、デフォルトでは最大数(同期および非同期)と予想される大maxThreadsの同時要求です。
TCPNODELAYは:trueに設定すると、TCP_NO_DELAYオプションはサーバソケットに設定され、ほとんどの場合、パフォーマンスが向上します。これがデフォルトの設定は真です。
connectionLinger:ソケットコネクタオフ秒とき連続使用。デフォルト値は-1、ソケットを無効にする遅延時間です。
URIEncoding:ウェブサイト、一般的にデフォルトのエンコーディングとしてUTF-8を使用します。
サーバー:HTTPヘッダの最初のバージョン情報を隠し、Tomcatのバージョン情報を隠す
compressableMimeType:構成データ・タイプは、コンパクトにしたいです
第二に、設定ファイルlogging.properties
confディレクトリを入力し、ファイルlogging.propertiesを開き、「#」を持つすべてのエンコーディング= UTF-8フロントラインも、することができ、この行をコメントアウトするか、Tomcatを実行すると、すべての文字化けの中国を慰めますUTF-8 GBKに。
第三に、JVMを設定します
binディレクトリに、ファイルsetevn.batを作成し、その後、メモ帳で、次の設定情報を入力します。
SETのJAVA_HOME = D:\のJava \ jdk1.8.0_221 JREの\
SET JAVA_OPTS = -server -Xms4096m -Xmx4096m -Xmn2048m -XX:PermSizeを= 256メートル-XX:MaxPermSizeを= 512メートル-XX:SurvivorRatio = 10 -XX:MaxTenuringThreshold = 12 - Xloggc:../ログ/ gc.log -XX:+ PrintGCDetails -XX:+ PrintGCDateStamps -XX:+ DisableExplicitGC
-server:これは、サーバーの構成に適用されていることを示し、特別な処理はJVM内になります
-Xms4096m:最小メモリは、JVMの2048メートルを提供しています。この値は、ガベージコレクションが完了REALLOCATEメモリを避けるために、同じ-Xmx、各JVMを設定することができます。
-Xmx4096m:2048メガバイトに利用できる設定JVM最大メモリ
-Xmn2048m:新世代セットサイズJVM(JDK1.4以降のバージョンでは、この設定は-XXと同等です:NewSizeパラメータと-XX:MaxNewSize)。一般-Xmnサイズは約1/2 -Xmsの大きすぎるか小さすぎる、古い大きすぎる小さいですが、頻繁に全GC、頻繁にマイナーGCには小さすぎるを設定しないでくださいです。-Xmnを設定されていない場合は、-XXを使用することができる:2が設定されているNewRatioは=、同様の効果がある
-XX:NewSizeパラメータ:新世代セットサイズ
-XX:MaxNewSize:新しい世代の最大サイズを設定します
-XX:PermSizeを永久集合生成サイズ
-XX:MaxPermSizeを:永久最大サイズ設定生成
SurvivorRatio:-XX(Survivor1)から、若い世代を、(へ Survivor2) 比エデン、-XX場合:SurvivorRatio = 10以降10/12から、若い世代の空間の1/12を占めるに等しいメモリサイズに、エデンが占めるから、
-XX:NewRatio = 4:(エデン二サバイバーの領域を含む)若い世代を設定し、中旧世代比(永久的な除去世代)。4に設定され、1の若い世代と旧世代の比率のシェア:4、若い世代スタック全体の1/5、パラメータ設定が不要であり、場合のXms = XmxのXMNセット。
-XX:MaxTenuringThreshold = 10:ごみの最大の年齢を設定すると、デフォルトは次のとおりです。15。サバイバーエリアなし、直接古い世代にオブジェクトの0に設定すると、若い世代。効率を向上させることができるアプリケーションの古い世代の多くのため。この値が大きい値に設定されている場合、若い世代のオブジェクトは、若い世代への導入の増加、すなわちリサイクル、オブジェクトを増大させ、その後、生存時間の若い世代ができ、サバイバー領域に何回もコピーされます。その、設定-XX注意:、それだけで最大であるMaxTenuringThreshold、若い世代で10回を耐えなければならないオブジェクトを表していないだけで、古い時代に昇格したが、実際には、それぞれを計算する動的なコンピュータシステムがあります古い時代のしきい値、および小さいMaxTenuringThresholdのしきい値へジンが優先する。
-Xloggc:../ログ/ gc.log GCログファイルの場所
-XX:+ DisableExplicitGC:これは、手動でコードを無視するGCを呼び出すことにSystem.gc()呼び出しはエアコンとなるであろうことができる、任意のGCトリガません
注:上記-Xms -Xmx -Xmnは8Gに従ったものですサーバーのメモリ構成、実際の構成は、ユーザーが自分自身のデバッグを必要とします
、コンフィグレーション動作するかどうかのbinフォルダに移動し、コマンド・ライン・ウィンドウを開き、設定試験はcatalina.batを入力して、設定ページを表しているの成功を次のように表示されます