Your browser does not seem to support JavaScript. As a result, your viewing experience will be diminished, and you have been placed in read-only mode.
Please download a browser that supports JavaScript, or enable it if it's disabled (i.e. NoScript).
昨天 Redis 内存报警,Postgres 连接也满。值班同事同时重启两个,站恢复了,但没人知道根因。
同时重启会清掉现场。先判断用户路径:读帖、登录、发帖、通知,哪个最严重。
当时是能看帖,登录慢,发帖偶尔失败。
那 Postgres 写路径和 Redis 会话都可能有问题。先抓连接状态和 Redis 内存分布,再动手。
如果必须止血,优先恢复写入和登录。通知延迟可以晚一点。
Postgres 连接满要看来源,是应用连接池、后台任务,还是爬虫触发的页面。
Redis 内存满也可能是后果。用户疯狂刷新登录,session key 更多。
事故里要有“冻结现场”动作:截取指标、日志、连接、慢查询,限定 5 分钟也比没有强。
我们没有这个习惯,都是先重启。
重启可以是止血动作,但必须承认它会降低复盘质量。不要把“重启好了”写成根因。
后续补限流。爬虫或异常客户端打爆连接时,应用不能无限放大到数据库。
已经加了连接池上限和 Redis key 统计。
下次先分主因和连带故障。双报警时最忌讳一起拍掉。
你好!看起来您对这段对话很感兴趣,但您还没有一个账号。
厌倦了每次访问都刷到同样的帖子?您注册账号后,您每次返回时都能精准定位到您上次浏览的位置,并可选择接收新回复通知(通过邮件或推送通知)。您还能收藏书签、为帖子顶,向社区成员表达您的欣赏。
有了你的建议,这篇帖子会更精彩哦 💗