最近, 我的模块作为客户端去访问别人的模块, 平时好好的, 但在某个时间段内, 出现大量错误。 看了一下log, 是连接失败。 因为这个时间已经过了, 问题已经恢复了, 所以不太方便抓包定位, 只能看当时的log.
还好, 在失败的时候, 我记录了对段的ip和port, 找对方确认, 对方开始觉得没有问题。 我觉得不是。
于是分析了一下对端ip和port的分布, 发现失败集中在对方的一台机器上, 再去看看这台机器的性能统计, oh my god, 在连接异常的时间端内, 对方机器的内存突然飙高。 问题原因就是这样。
打印好log是多么重要啊。
后来我发现, 从模调监控上, 也能发现这台异常的机器。