暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

如何通过连接来判断应用访问数据库的异常现象?

117

点击标题下「蓝色微信名」可快速关注

技术社群的这篇文章《第50问:从连接判断应用访问数据库的异常行为》给我们讲解了C/C++应用如果出现数据库连接异常,应该如何判断,整个排查的路径比较经典,还是非常值得借鉴和学习的。

问题:访问数据库的连接有异常流量,如何判断是应用哪个逻辑导致了异常行为?

实验过程:

先起锅烧一个数据库实例,

我们这次用mysqlslap作为应用,

假设在MySQL中,我们认为这根连接有异常流量,

通过ss找到这根连接在mysqlslap中的句柄号,

我们通过strace,输出mysqlslap使用这根连接的堆栈,

其中"-e desc"表示追踪所有跟文件句柄有关的系统调用,"-k"表示打印堆栈。
可以看到图上打印出了句柄3的一次调用,是mysqlslap在做drop database的动作。

再挑一个句柄3的堆栈,是mysqlslap在做create database的动作,

找到句柄4的对应操作,

可以看到,
  • 句柄3对应的连接的任务是create/drop database ,进行测试前后的构建和清理工作。

  • 句柄4对应的连接的任务是run task ,对数据库施加任务压力,我们从数据库上看到的异常流量,就是来自于这个逻辑。

本次实验,我们通过连接端口号找到连接句柄,通过连接句柄,定位到连接异常流量的堆栈,能帮助大家定位到业务应用的异常逻辑。


如果您认为这篇文章有些帮助,还请不吝点下文章末尾的"点赞"和"在看",或者直接转发朋友圈,


可以到各大平台找我,
  • 微信公众号:@bisal的个人杂货铺
  • 腾讯云开发者社区:@bisal的个人杂货铺
  • 头条号:@bisal的个人杂货铺
  • CSDN:@bisal
  • ITPub:@bisal
  • 墨天轮:@bisal
  • 51CTO:@bisal
  • 小红书:@bisal
  • 抖音:@bisal
近期更新的文章:
《MySQL日期格式化的需求场景》
《日本有森保一,韩国有洪明甫,我们有一哥》
《英超第十轮》
《11月15日 · TiDB技术社群活动的报名》
《两岸关系发展和统一利好》
近期Vlog:
《千岛湖》
《Skyline Luge》
《新疆之行(红山体育馆 - 国际大巴扎 - 红山公园 - 天山天池)》
《新疆之行(天马浴河 - 哈因塞 - 那拉提 - 依提根塞)》
《新疆之行(六星街 - 伊昭公路 - 夏塔)》
热文鉴赏:
《揭开"仿宋"和"仿宋_GB2312"的神秘面纱》
《Linux的"aarch"是多了个"a"?》
《中国队“自己的”世界杯》
《你不知道的C罗-Siu庆祝动作》
《大阪环球影城避坑指南和功略》
《推荐一篇Oracle RAC Cache Fusion的经典论文》
《"红警"游戏开源代码带给我们的震撼》
文章分类和索引:
《公众号1900篇文章分类和索引》

文章转载自bisal的个人杂货铺,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论