QPSが100であり、DBサーバーの接続制限が1000であると同時にdbサーバーの要求が多数ある場合、要求が遅くて最終的にinactivity timeout
になるクエリの場合、私はnpm package
mysqlが新しい接続を作成しないようにしますか?npmのmysqlライブラリを使用するとdbを保護する方法は?
npm package
mysqlはinactivity timeout
のような致命的なエラーで接続オブジェクトプールから接続オブジェクトを削除し、新しい接続を作成するためのスペースを残しますので。
100クエリ/秒はほぼ中央値です。 max_connections = 1000はかなり高いです。いくつかの非アクティブ期間(wait_timeout)後に接続を削除する必要があります。クライアントは、長時間(数時間)接続してはいけません。 「npm」以外の問題は何ですか? –
@Rick Jamesさん、組み込みの接続プールは、プールからの '非アクティブなタイムアウト'のような致命的なエラーを起こす可能性のある不正な接続オブジェクトを削除し、ソケットは 'FIN'パケットを送り、プールは新しいものを作成します。タイムアウトクエリが何時間も続くと、dbサーバは最後に接続を使います。 – Aflext