ホームページ  >  記事  >  データベース  >  mysql接続プールとは何ですか

mysql接続プールとは何ですか

青灯夜游
青灯夜游オリジナル
2023-04-17 10:23:392978ブラウズ

mysql では、プログラムの起動時に接続プールが一定数のデータベース接続を作成し、これらの接続を管理用のプールに入れます。プログラムは接続を動的に適用、使用、解放します。データベース接続プールを使用する理由: 1. リソースの再利用により、システム リソースの消費量が削減され、システム動作の安定性が向上します。2. 応答速度が向上し、データベース接続の漏洩を回避するための統合接続管理が行われます。

mysql接続プールとは何ですか

このチュートリアルの動作環境: Windows7 システム、mysql8 バージョン、Dell G3 コンピューター。

1. プーリング テクノロジー

接続プールは接続オブジェクトのバッファであり、いくつかの接続を保存します。プログラム 接続を使用する必要がある場合、接続が接続プールに存在する場合、接続を再作成せずに接続プールから直接取得されます。接続プーリングにより、プログラムは接続を再利用できます。

プーリング テクノロジにより、オブジェクトの作成数が削減され、プログラムの応答パフォーマンスが向上します。特に同時実行性の高いシナリオでは、その効果がより顕著になります。オブジェクトの作成に大量のリソースが必要となり、作成時間が長くなる場合は、プーリング テクノロジを使用してオブジェクトをキャッシュし、後で再利用することを検討できます。一般的なプーリング コンポーネントには、メモリ プール、スレッド プール、接続プールなどが含まれます。

2. データベース接続プールとは何ですか?

定義: データベース接続プールは、プログラムの起動時に一定数のデータベース接続を作成します。これらの接続は、管理のためにプールに入れられます。接続の適用、使用、解放はプログラムによって動的に実行されます。データベースは Mysql を参照するだけでなく、Redis 用に接続プールを設計できることに注意してください。

#3. データベース接続プールを使用する理由

  • リソースの再利用。頻繁な作成と破棄によるパフォーマンスのオーバーヘッドを回避し、システム リソースの消費を削減し、システム動作の安定性を向上させます。主に メモリの断片化とスレッドまたはプロセスの一時的な作成が削減されます。

  • 応答速度の高速化。プログラム起動時に複数のコネクションが用意されるため、業務リクエストをそのまま利用することができ、リアルタイムにコネクションの作成、権限確認、破棄などの操作を行う必要がなく、システムのレスポンスタイムが短縮されます。

  • データベース接続の漏洩を回避するための均一な接続管理。コネクション占有のタイムアウト時間をあらかじめ設定でき、一定時間以上コネクションが占有された場合に、強制的にコネクションを再利用することができます。

4. Mysql データベース接続の確立プロセス

  • クライアントが接続を開始します。リクエスト、TCP スリーウェイ ハンドシェイク

  • Mysql 内部権限検証

  • SQL 実行ステートメント

  • Mysql のシャットダウン

  • #切断、TCP ウェーブ 4 回

4.1 接続プーリングなし #SQL ステートメントが実行されるたびに、TCP スリーウェイ ハンドシェイク、権限の検証、データベース操作、データベース ユーザーのログアウト、4 つのウェーブなどの操作を実行するために接続を確立する必要があります。


利点mysql接続プールとは何ですか: 実装が簡単、接続プールを設計する必要がない;

欠点: アプリケーションは一時的な接続を頻繁に作成および破棄します。さらに、接続中、閉じた後に多数の TIME_WAIT 状態が発生します。

4.2 接続プールの使用

プログラムが開始されると、多数のバックアップ接続が作成され、SQL が利用可能な接続操作を取得するたびに、 、急げ。


mysql接続プールとは何ですか##5. 接続プールの動作原理

From 接続プールは接続を取得または作成します;

  • 接続を使用し、使用後に接続プールに返します;

  • 閉じるシステムがシャットダウンされる前にすべての接続が切断され、リソースが解放されます。

  • #6. スレッド プールと接続プールの関係

一般スレッド プール この数は接続プールの数と一致しており、スレッドは使用後に接続を返します。

相違点:mysql接続プールとは何ですかスレッド プールはアクティブにタスクを実行します

接続プールは受動的に使用され、接続は 1 つのスレッドにのみ適用および使用できます。

  • [関連する推奨事項:
  • mysql ビデオ チュートリアル
  • ]

以上がmysql接続プールとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。