值班现场第一眼该开 top、pidstat、ss 还是 iostat?我一般这样选
系统命令这件事,平时最容易学成一个“我都知道一点”的状态。
Java
这里按页继续往后翻,仍然围绕接口变慢、数据库等待、线程池、JVM 与线上问题排查这些问题。
系统命令这件事,平时最容易学成一个“我都知道一点”的状态。
线上接口一慢,现场如果同时满足两件事,最容易卡在错误的地方:
很多发布后的性能问题,第一眼都会被怀疑成代码回归;但把时间线摊开以后,经常发现真正先出错的不是业务逻辑,而是切流顺序。
10:22,那次事故群里刷得最快的是网关 504 图。
很多团队一看到写接口 RT 上升,就会先盯住 SQL 文本、锁等待,或者怀疑数据库实例扛不住了。
周六晚上做大促压测回放时,最先响起来的是商品详情页的 p99,从 180ms 抬到 1.8s。群里第一反应很熟:有人盯数据库 QPS,有人盯 Redis 命中率,还有人怀疑活动流量本来就把系统推高了。
缓存层出问题以后,很多人的第一反应还是那句老话:大不了退化直连数据库。听起来像是少一层加速器,系统只是慢一点。
很多团队嘴里的“服务 OOM 了”,其实混着两种完全不同的事故。