谢邀。我从自己的理解说下,这些例行的下线服务的目的如下:
1. 重启程序 —— 很多服务端程序运行久了会有内存泄漏之类的问题,速度会变卡,也包括某些朋友说的计时器用32位存储会溢出导致程序报错(windows下比较常见),重启会清零,总之就是
通过重启让服务端回到刚开服那个清爽的状态
2. 日志处理 —— 压缩、删一些日志啥的,主要目的是
保证磁盘的可用空间
,虽然我对此持保留态度(只要分割的好,绝大多数日志清理工作对性能造成的影响可以忽略不计)3. 硬件检查 —— 比如检查下有没有什么
系统硬件级别的报错
,某些硬盘、网卡故障前会有一些高级别的错误信息,在例行维护期间发现了,
可以做更换机器之类的操作
4. 必须停机执行的动作 —— 比如数据库结构变更了、大批量数据的操作(尤其是可能造成长时间锁表的动作,开服期间竞争激烈时更易引发用户体验下降,
比如全备份、拖数据
),还有部分
版本更新的动作,为了避免数据紊乱
,也会在例行停机维护期间执行。不过,在我看来,除了理由4,其它都不是
例行
停机下线维护非做不可的理由。还有一种说法是,运维要给自己留下一定的余地,用以低成本的解决某些问题。但是我对此仍然持保留态度。所以,我现在的策略就是,不安排例行维护,除了版本更新。其它问题一律通过监控手段和技术手段解决,避免无谓的工作。