Ubuntu
關註生產伺服器中的“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 upgrade,但我有點擔心僅僅更新包 db 會影響一些使用者,特別是如果我每天 cron 說一次。
我能想到的唯一解決方法是在非高峰時間執行此操作,但除了明顯的假設之外,您還有其他提示嗎?
這就是為什麼你應該有一個備份伺服器。或者至少是一個可以在緊要關頭偽裝成伺服器的測試環境。
- 升級備份伺服器。
- 測試備份伺服器。
- 故障轉移到備份伺服器。
- 升級主伺服器。
- 測試主伺服器。
- 故障回復到主伺服器。
至於
apt-get update
弄亂其他東西,這應該不是問題,但是如果您使用的是低功耗伺服器(例如微型 VM 實例),它可能會增加 CPU 負載和記憶體使用,這可能會減慢其他程序的速度。