可以看到请求的连接是 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 爆高现象 。
推荐阅读
- MassTransit | .NET 分布式应用框架
- 怎么开保险柜新买的保险柜打不开了,忘记怎么开了
- 4 .NET 6学习笔记——如何在.NET 6的Desktop App中使用Windows Runtime API
- 学习ASP.NET Core Blazor编程系列八——数据校验
- GitHub Pages 和 Jekyll 笔记
- 【.NET 6】RabbitMQ延迟消费指南
- 中铁十六局个人门户网忘记密码咋办 中铁十六局门户网站
- [Oracle]复习笔记-SQL部分内容
- 之四 2流高手速成记:SpringBoot整合redis及mongodb
- 简读《ASP.NET Core技术内幕与项目实战》之3:配置