关注生产服务器中的“apt-get update”

我有一个服务器,有点过时,因为我几个月没有更新它。 我想尝试cron-apt,但首先想手动,所以我发了一个

sudo apt-get update 

作为第一步。 一切正常,但是当我检查我的Apache错误日志,我得到了这样的消息:

 [error] [client xxx.xxx.xxx.xxx] exception 'MongoCursorTimeoutException' with message 'cursor timed out (timeout: 30000, time left: 0:0, status: 0)' 

从当时连接到我的服务器的用户。

请注意,我还没有发布apt-get升级,但我有点担心,只是更新包数据库会影响一些用户,特别是如果我cron这一天说一次。

只有我能想到的解决方法是在非高峰时间这样做,但除了这些明显的假设之外,还有其他的build议吗?

这就是为什么你应该有一个备份服务器。 或者至less有一个testing环境,可以伪装成一个服务器捏。

  1. 升级备份服务器。
  2. testing备份服务器。
  3. 故障切换到备份服务器。
  4. 升级主服务器。
  5. testing主服务器。
  6. 回到主服务器。

至于apt-get update与其他东西混杂,它不应该是一个问题,但如果你在一个低功耗的服务器(如微VM实例),它可以运行CPU负载和内存使用,这可能会减慢其他程序。