我们正在使用Google的Cloud MySQL服务。 15分钟后,它似乎关闭或进入睡眠状态。
此活动直接与“按需”和“按使用”选项的设置相关。我们确保在创建服务时将其设置为“Always On”和“Package”。
会发生什么 - 在MySQL服务闲置大约15分钟后,我们尝试进行查询。第一个查询大约需要10秒钟才能发回响应。以下查询在正常响应时间内响应。
我们正在使用 D1 Tier 。
可能性 - 这个层是否可以降低资源以使上述设置生效?
确保使用Google的MySQL服务的任何建议始终在运行,而不是某种类型的空闲模式?
每隔14分钟ping一次MySQL服务器可能是可能的,但似乎Google确实有能力自己解决这个问题。
答案 0 :(得分:0)
不幸的是,我无法足够快地诊断直接问题,所以我不得不前进。我通过每隔7分钟添加一次连接ping来解决问题,以保持连接活跃。
希望以下帮助某人。这是在NodeJS中编写的。这个概念应该是普遍的。
var keepAlive = function() {
pool.getConnection(function(err, connection) {
if(err) { console.log(err) }
connection.ping(function (err) {
if (err) throw err;
console.log('Server responded to ping');
connection.release();
});
});
};
setInterval(function(){keepAlive();}, 420000);
答案 1 :(得分:0)
你可以试试 在Google Cloud上的MySQL实例的编辑模式下。将激活策略设置为ALWAYS ON