深入分析
(1)应用服务器单台网卡为什么有大量异常流量?
这是因为服务器主机的日志同步机制运行时,会每5分钟读取一次日志,从而引起异常流量。
(2)应用服务端为什么会大量Close Wait?
Close Wait产生的原因在于数据库服务端等待超时后,主动断开连接,如果应用服务端在数据库断开之后能够响应及时关闭,就不会积攒大量Close Wait,但是应用服务端在当天问题发生时并未马上关闭无用连接,所以大量的CloseWait状态过多,导致主机资源耗尽。
当天排查也发现合作机构前置应用在网关关闭连接后,业务查询还未结束时,前置应用的网关连接不会关闭。这一事实佐证了上面这一点。
(3)应用服务端为什么会大量报错“open too many files”?
应用服务器可以open的文件数有上限,通常不会到达这个阀值。如果出现那可能就是有文件句柄没有及时释放。由于前面有大量处于close_wait的tcp连接,每个连接对应一个套接字(socket),也对应一个文件句柄,这是导致报错的主要原因。