Node.js MySQL アプリケーションでアイドル時間後に「read ECONNRESET」エラーが発生するのはなぜですか?

Mary-Kate Olsen
リリース: 2024-11-20 03:27:02
オリジナル
154 人が閲覧しました

Why do I get a

Node.js サーバーのアイドル時間後の MySQL 読み取り ECONNRESET エラー

node-mysql 経由で MySQL と対話する Node.js アプリケーションでは、頻繁に次のエラーが発生します。アイドル時間後の「read ECONNRESET」エラー。この問題により、いくつかの疑問が生じます:

1. MySQL サーバーへのノードの接続が切断されますか?

はい、このエラーはノードと MySQL サーバー間の切断を示唆しています。 MySQL には、接続を閉じるまでのアイドル時間制限を決定する「wait_timeout」変数があります。デフォルトは 8 時間です。

2.接続プールが切断を処理できない?

node-mysql は接続プールを使用しますが、切断された接続を自動的にプルーニングしません。この問題は、クエリが試行されるまで検出されない可能性があります。

3.他のエラー原因を調べていますか?

「read ECONNRESET」エラーはよく発生しますが、MySQL 以外の潜在的な原因を除外することは価値があります。

解決策:

これに対処するには問題:

  1. wait_timeout を増やす: 接続が終了しないように、MySQL の "wait_timeout" をより高い値 (例: 28800 秒) に設定します。
  2. ハートビートの実装:「SELECT」のようなクエリを定期的に実行します。 1;"接続を維持するために。あるいは、「idleTimeoutMillis」オプションを指定してノード プール モジュールを使用します。
  3. 接続プールを使用する: ノード プールのような接続プールは、アイドル状態の接続を自動的にプルーニングして、アクティブな接続が維持されるようにします。

以上がNode.js MySQL アプリケーションでアイドル時間後に「read ECONNRESET」エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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