Google compute engine 无法在google云计算引擎实例上设置tcp_keepalive_时间

Google compute engine 无法在google云计算引擎实例上设置tcp_keepalive_时间,google-compute-engine,google-cloud-sql,keep-alive,gcloud,Google Compute Engine,Google Cloud Sql,Keep Alive,Gcloud,我们正在运行node.js服务器,该服务器需要连接mySQL数据库。我们在AmazonRDS上托管了我们的数据库,但现在我们已经将其转移到了Google SQL,服务器在10分钟后随机断开连接,我们遇到了问题 显然,这是一个功能,而不是一个bug,解决方法是在我们连接的机器中设置一个较低的tcp keepalive,如下所述: 代码应为: echo 'net.ipv4.tcp_keepalive_time = 60' | sudo tee -a /etc/sysctl.conf sudo /sb

我们正在运行node.js服务器,该服务器需要连接mySQL数据库。我们在AmazonRDS上托管了我们的数据库,但现在我们已经将其转移到了Google SQL,服务器在10分钟后随机断开连接,我们遇到了问题

显然,这是一个功能,而不是一个bug,解决方法是在我们连接的机器中设置一个较低的tcp keepalive,如下所述:

代码应为:

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访问权限,但我们甚至无法在此文件夹中手动创建名为tcp_keepalive_time的文件

我们非常困惑,因为解决方案来自官方的google Cloud SQL文档,因此应该按照描述的那样工作

有人有什么见解可以分享吗?提前感谢:)

自动应答:

您无法从web/云控制台以管理员身份访问文件系统。

我们使用gcloud auth(来自gcloud SDK)从Thermanal登录,puttygen创建一个SSH密钥,然后putty从一个合适的SSH客户端(而不是云SSH控制台)将SSH插入机器中,果然奏效了


奇怪,希望这能帮助其他人解决同样的问题

这是第一代还是第二代实例?这也是由于节点mysql/node-mysql2驱动程序没有启用keepalive(与大多数其他mysql驱动程序不同)。看看这个答案: