ホームページ > データベース > mysql チュートリアル > Spring Boot データベース接続タイムアウト: 接続プールを効果的に構成するにはどうすればよいですか?

Spring Boot データベース接続タイムアウト: 接続プールを効果的に構成するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-12-10 01:42:10
オリジナル
191 人が閲覧しました

Spring Boot Database Connection Timeout: How to Effectively Configure Connection Pools?

データベースでの Spring Boot 接続タイムアウトの問題

問題の概要

Spring を利用する Spring Boot アプリケーションData JPA および Hibernate with MySQL では、接続タイムアウト エラーが発生する場合があります。具体的には、エラー メッセージ「CommunicationsException: サーバーから正常に受信された最後のパケットは 4

考えられる解決策autoReconnect を使用する

spring.datasource.testonborrow=true を使用する場合、およびspring.datasource.validationQuery=SELECT 1 は実行可能なソリューションですが、推奨されません。より良いアプローチには、接続プールを適切に構成することが含まれます。

推奨される解決策: 接続プールの構成

  1. 最大接続数を設定する接続:

    • spring.datasource.max-active=10
    • これは、プール内で許可される同時接続の最大数を指定します。
  2. 初期接続とアイドル接続を設定する制限:

    • spring.datasource.initial-size=5
    • これは、プール内の初期接続の数を設定します。
    • spring.datasource。 max-idle=5
    • これは、アイドル状態の接続の最大数を設定します。 pool.
    • spring.datasource.min-idle=1
    • これは、プール内のアイドル接続の最小数を設定します。
  3. 接続を有効にする検証:

    • spring.datasource.test-while-idle=true
    • これにより、アイドル状態の接続が検証されます。
    • spring.datasource.test -on-borrow=true
    • これは、接続がpool.
    • spring.datasource.validation-query=SELECT 1
    • これにより、実行する検証クエリが設定されます。
  4. 検証期間とアイドル状態を設定するタイムアウト:

    • spring.datasource.time-between-eviction-runs-millis=5000
    • これは検証を実行する頻度を指定しますquery.
    • spring.datasource.min-evictable-idle-time-millis=60000
    • これは、アイドル状態の接続がエビクト可能とみなされるまでの最大存続期間を設定します。

この方法で接続プールを構成すると、接続は定期的に検証され、アイドル状態になります。接続は定期的にパージされ、必要に応じて新しい接続が取得されます。 Spring Boot は再接続プロセスを自動的に処理し、接続が常に利用可能であることを保証します。

以上がSpring Boot データベース接続タイムアウト: 接続プールを効果的に構成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート