记一次 .NET 某娱乐聊天流平台 CPU 爆高分析( 三 )

可以看到请求的连接是 https://api.xxxx/peer_messages,是一个第三方的API接口,由于底层的连接关闭,导致了最后 net_io_readfailure 。
把所有的信息整合一下就是:
当请求量大了之后,访问 https://api.xxxx/peer_messages 会出问题,对方关闭了底层连接,导致客户端这边请求出现了大量 IO 回调异常:IOException: Unable to read data from the transport connection: The connection was closed.,2min之间多达合计 4w 的异常抛出,进而引发 CPU 爆高 , 将信息告诉了朋友,让朋友重点关注下 https://api.xxxx/peer_messages 这个连接 。
三: 总结这次生产事故主要是由于高峰期请求量过大,由于某种原因 Socket 连接关闭,导致了大量的异步回调异常 。
解决方法在调用端做好限流,据朋友说减少了不必要的 https://api.xxxx/peer_messages 调用,目前没有出现 CPU 爆高现象 。

推荐阅读