Tomcat+Mysql の高同時実行構成の最適化の説明

Tomcat+Mysql の高同時実行構成の最適化の説明

1.Tomcatの最適化構成

(1)Tomcatのcatalina.batを変更する

Javaをサーバーモードに変更し、jvmのメモリを増やし、

setJAVA_OPTS=-server -Xms1024m -Xmx2048m -Xss512K -XX:PermSize=128m -XX:MaxPermSize=256m
setCATALINA_OPTS=-server -Xms512m -Xmx512m

以下のように表示されます。

Xms: 初期メモリ

Xmx: 最大メモリ

(2)TomcatのServer.xmlを変更する

<Servicename="Catalina"> に次の構成を追加します (テスト済み、10 秒以内に 2000 件の同時接続は問題ありません)。

<Executorname="tomcatThreadPool" namePrefix="catalina-exec-"
最大スレッド数="800" 最小スペアスレッド数="25" 最大アイドル時間="60000"/>
<コネクタエグゼキュータ="tomcatスレッドプール"
ポート="80"、プロトコル="HTTP/1.1"
接続タイムアウト = "60000"
キープアライブタイムアウト="15"
最大キープアライブリクエスト数 = "200"         
           アップロードタイムアウトを無効にする="false"
           enableLookups="false"
リダイレクトポート="8443"/>

maxThreads の数値を大きくしすぎると、次のエラーが発生しやすくなるので注意してください。

2. MySQL設定を最適化する

(1) MySqlのmy.ini (Windows)またはmy.cnf (Linux)を変更する

max_connections=12000 //接続の最大数は通常0〜15000の間ですが、15000を超えないようにしてください。
max_user_connections=0 // ユーザー接続の最大数。0 は制限なしを意味します。 interactive_timeout=31536000 // タイムアウト。接続プールで次のエラーを回避するために 1 年に設定します。 wait_timeout=31536000 

query_cache_size=512m //クエリキャッシュ。次のエラーを回避するには、この値を大きく設定してください。 

キーバッファサイズ=1024m
クエリキャッシュタイプ = 1
最大許容パケット=600m

要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。これについてもっと知りたい場合は、次のリンクをご覧ください。

以下もご興味があるかもしれません:
  • MySQL シリーズ 10 同時実行制御を実装するための MySQL トランザクション分離
  • MySQL マルチバージョン同時実行制御メカニズム (MVCC) ソースコードの詳細な説明
  • MySQLのMVCCマルチバージョン同時実行制御の実装
  • 一意の注文番号を生成するためのMySQLの高同時実行方法
  • MySQL ロック制御同時実行方法
  • MySQL トランザクション同時実行問題の解決
  • MySQL データベースにおける高同時実行性の問題を解決する方法
  • MySQL 同時実行制御の原則に関する知識ポイント
  • MySQL マルチバージョン同時実行制御 MVCC の実装
  • MySQLデータの同時更新を処理する方法
  • MySQL はどのようにしてマルチバージョンの同時実行性を実現するのでしょうか?

<<:  Vue3+TypeScriptはaxiosをカプセル化し、リクエスト呼び出しを実装します

>>:  MySQL への接続時に発生する 1449 および 1045 例外の解決方法

推薦する

7つのMySQL JOINタイプのまとめ

始める前に、これから紹介する JOIN タイプを示すために 2 つのテーブルを作成します。テーブルを...

CSS における位置指定の概要

CSS には 4 種類の配置方法があり、シナリオによって効果が異なります。ここでは、これら 4 種類...

Vueバックグラウンド管理に多言語機能を追加する例

目次1.まず、main.jsページを設定します2. 対応するパスの下で言語パックを構成します。ここに...

Linux ベースの MySQL マスター スレーブ構成の全プロセスを記録する

mysql マスタースレーブ構成1. 準備ホスト: 192.168.244.128スレーブ: 192...

Youdaの新しいプチビューの実装

目次序文導入ライブ使いやすいルートスコープマウント要素の指定ライフサイクルコンポーネントグローバル状...

メニューのホバー効果を実現するCSS3

結果: html <nav id="nav-1"> <a cl...

JS を使用して要素が配列であるかどうかを判断する例

検証できるデータの種類は次のとおりです a = [1,2,3,4,5,6]とします。 b = [とし...

MySQL におけるさまざまな一般的な結合テーブルクエリの例の概要

この記事では、例を使用して、MySQL のさまざまな一般的な結合テーブルクエリについて説明します。ご...

登録フォームのデザインルール

随分前に「Patterns for Sign Up & Ramp Up」を読み終えました。今...

React-Native環境のセットアップと基本的な紹介

環境の準備1. 環境構築React Native 中国語ウェブサイト2. 開発ツール フロントエンド...

画像とテキストでHTTPヘッダーのあらゆる側面を理解する

HTTPヘッダーとはHTTP は「Hypertext Transfer Protocol」の略です。...

Linuxのファイル権限の詳細な紹介

Linux の優れた点は、マルチユーザー、マルチタスク システムにあります。 Linux では通常、...

雨滴効果を実現する JavaScript キャンバス

この記事の例では、雨滴効果を実現するためのキャンバスの具体的なコードを参考までに共有しています。具体...