服务问题分析
当线上服务出现问题时经常不知所措,现在自己总结下服务自己把一些问题记下来以后用于分析。
1、resin为什么会挂掉:通常看来是连接太多了,导致线程太多resin就挂掉了。不过这时到底是服务压力太大导致cpu处理不过来,还是当请求量增大,代码里处理时间过长那个服务被频繁调用造成的,或者是其他人机器上的服务timeout造成的。
对于后边的一点,这个需要在出问题是首先保留java堆栈信息,然后对于自己程序里都有哪些会耗时比较大服务有准确的了解,便于排查,对于第一个,要对自己的系统有正确的了解,比如平时线程是多少,高峰期线程是多少,当线程线程超过各个时段预期的时候能够做到及时发现。
resin为什么会死掉还得多分析。
等待io也可能造成线程过多。
2、为什么一个集群内的不同机器的在出现问题的时候,cup和个种参数不同或者更极端的是有的机器有问题有的机器却没问题,这个现在也没什么好的想法。
3、当服务出问题的时候要怎么办,怎么样尽量保证线上服务的稳定