mysql ライブラリをクエリするとき、データ量が比較的大きい場合、セッションは常に中断されます。最初は、mysql と接続に関連するタイムアウトの問題だと思いましたが、ネットワークの不安定性が原因であることが判明しました。 この記事では主に MySQL と接続関連のタイムアウトについて詳しく紹介しますので、必要な方は参考にしていただければ幸いです。
以下は接続に関連するタイムアウトの概要です
slave-net-timeout
スレーブが接続が切断されたとみなして読み取りを中止し、試行するまでにマスターからの追加データを待機する秒数です。最初の再試行は、タイムアウトの直後に行われます。再試行の間隔は、CHANGE MASTER TO ステートメントの MASTER_CONNECT_RETRY オプションによって制御され、再接続の試行回数は、デフォルトの --master-retry-count オプションによって制限されます。は 3600 秒 (1 時間) です。
スレーブはマスターへの接続に問題があると判断すると、N 秒間待機し、その後切断してマスターに再接続します
net_read_timeout:
秒数サーバーがクライアントから読み取りを行っている場合、net_read_timeout は読み取りを中止する前に接続からデータを取得するまで待機する秒数です。サーバーはクライアントから読み取りを行っています。net_read_timeout は、いつ中止するかを制御するタイムアウト値です。データを読み取るとき、net_read_timeout はタイムアウトするタイミングを制御します。
net_write_timeout:
書き込みを終了する前に接続へのブロックの書き込みを待機する秒数。サービスがクライアントにデータを書き込んでいるときに、net_write_timeout がタイムアウトするタイミングを制御します
wait_timeout
サーバーによって強制的に閉じられるまで、サーバーとの対話なしで接続を待機する時間
interactive_timeout:
サーバーとの対話がない接続がサーバーによって強制的に閉じられるまでにかかる時間
connect_timeout
connect_timeout: 接続取得フェーズ (認証) で機能します
net_read_timeout および net_write_timeout : 接続 (クエリ) のビジーフェーズ中に機能します。
JavaScriptのsetTimeoutのシングルスレッド
js関数の実行プロセスを確認するためのsetTimeoutの説明
以上がMySQL と関連するタイムアウトの詳細な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。