Ubuntu

關註生產伺服器中的“apt-get update”

  • May 22, 2013

我的伺服器有點過時了,因為幾個月以來我沒有更新它。我想嘗試 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 upgrade,但我有點擔心僅僅更新包 db 會影響一些使用者,特別是如果我每天 cron 說一次。

我能想到的唯一解決方法是在非高峰時間執行此操作,但除了明顯的假設之外,您還有其他提示嗎?

這就是為什麼你應該有一個備份伺服器。或者至少是一個可以在緊要關頭偽裝成伺服器的測試環境。

  1. 升級備份伺服器。
  2. 測試備份伺服器。
  3. 故障轉移到備份伺服器。
  4. 升級主伺服器。
  5. 測試主伺服器。
  6. 故障回復到主伺服器。

至於apt-get update弄亂其他東西,這應該不是問題,但是如果您使用的是低功耗伺服器(例如微型 VM 實例),它可能會增加 CPU 負載和記憶體使用,這可能會減慢其他程序的速度。

引用自:https://serverfault.com/questions/510056