呵呵,运维谈不上专业,只是日常需要,记录一些问题。因为是个人玩家,所以使用的实例配置也比较低,更容易因为某项资源不足而触发瓶颈,最终短板给整个系统带来故障,甚至是灾难。
1、HTTP/S请求频繁超时?
2018~2019(今年)都碰到了这个坑,先说下现象和配置,
实例规格是ecs.n4.small ,即单核、2GB内存,带宽1M。ECS里主要运行了五个应用ABCDE、E开了以后,HTTP/S请求频繁超时,导致前面4个应用也出现类似问题。
查看了下系统监控数据,CPU60上下,内存100,带宽100,可见是带宽触发了上限,并且经过实验(只跑E)发现降低E的线程数并提高sleep时间可以降内存和带宽(这不是废话么)。
于是先尝试升级带宽(因为应用必须保证线程数和sleep啊,不然线程数为1,sleep(Inf)多好)。
问题改善了,于是尝试跑E的升级版(应用需要,规模大概是线程数X2,sleep保持不变)。这个时候CPU不干了,100!!!内存在60上下,且呈锯齿状,看来GC有在起作用,磁盘未见异样,出口带宽也够用,TCP链接异常ESTABLISHED/NON_ESTABLISHED=230/3400,non里面几乎都是TIME_WAIT。。。说明产生了大量的主动关闭连接。
当只运行升级版E时,仍会出现频繁超时的问题。
这里就不追究具体的原因了,因为有更加经济的解决方案。</