Ubuntu 里那几个容易被忽略的类型细节
网上关于 Ubuntu 的文章大多停在「怎么用」,很少有人写「什么时候不该用」。这篇想补上后半句。
排查顺序(按性价比排): 1. 先看下游 RT,八成问题不在自己身上 2. 再看连接池命中率与等待队列长度 3. 然后才是 GC 与内存分配 4. 最后才怀疑框架
最后提醒一个坑:容器环境下一定要记得同步调整内存相关的参数,否则宿主机的限制和进程内部的预期会对不上,表现就是偶发的、无法复现的失败。
关于取舍,我的判断是:如果团队里没有人长期盯这块,就不要引入第二套机制。两套并存的时候,出问题时你甚至要先花时间判断「这次是哪个在起作用」,那个成本比性能损失高得多。
监控这块我们也顺手改了:把原来的平均值告警换成分位数,并且按接口拆分。改完之后误报少了大概七成,值班同学的怨气肉眼可见地下降了。