私たちは、mySQLデータベースに接続する必要のあるnode.jsサーバーを実行しています。 GoogleはAmazon RDSでデータベースをホストしましたが、今はGoogle SQLに移行しており、10分後にサーバーがランダムに接続を切断することに問題があります。Googleのクラウドコンピューティングエンジンのインスタンスでtcp_keepalive_timeを設定できません
どうやらそれは機能ではなく、バグだし、ここで説明したようにこの問題を回避するには、我々はから接続しているマシンで低TCPキープアライブを設定している:https://cloud.google.com/sql/docs/diagnose-issues
コードは次のようになります。
echo 'net.ipv4.tcp_keepalive_time = 60' | sudo tee -a /etc/sysctl.conf
sudo /sbin/sysctl --load=/etc/sysctl.conf
sysctl: cannot stat /proc/sys/net/ipv4/tcp_keepalive_time: No such file or directory
私たちは、このマシンへのrootアクセス権を持っていますが、私たちも、手動でファイルという名前のトンを作成することはできません。コードを実行するときに
は残念ながら、私が取得しますこのフォルダのcp_keepalive_time。
解決策は公式のGoogle Cloud SQLドキュメントから来ているため、説明されているとおりに動作するはずです。
共有する人はいますか?事前に感謝:)
これは第1世代または第2世代のインスタンスですか? – Vadim
これは、他のほとんどのMySQLドライバとは異なり、キープアライブを有効にしないnode-mysql/node-mysql2ドライバも原因です。この回答を確認する:http://stackoverflow.com/a/35710201/350488 – Vadim