蜘蛛吧,新站快速收录,高质量网站外链,吸引各种蜘蛛! 免费收录 快速收录 最新收录 网站地图 TAGS
首页/ > 文章资讯/ > 数据库

mysql从连接判断应用访问数据库的异常行为

2022-12-31 23:49:35   数据库   0
【导读】:问我发现应用有一根访问数据库的连接有异常流量如何判断是应用哪个逻辑导致了异常行为实验先起锅烧一个数据库实例我们用作为应用假设在中我们认为这根连接有异常流量通过找到这根连接在中的句柄号我们通过输出使用这根连接的堆栈其中表示追踪所有跟文件句柄有...本文地址:/news/662.html

我发现应用有一根访问数据库的连接有异常流量,如何判断是应用哪个逻辑导致了异常行为

实验

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

我们用 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 ,对数据库施加任务压力,我们从数据库上看到的异常流量,就是来自于这个逻辑。

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

这种方法只适用于 c/c++ 的应用,对于其他语言编写的应用,我们之后会介绍其他方法来诊断。

标签:

版权声明:

1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

2、本站仅提供信息发布平台,不承担相关法律责任。

3、若侵犯您的版权或隐私,请联系本站管理员删除。

4、文章来源:来自于网络收集。

网站声明:本站所有资料取之于互联网,任何公司或个人参考使用本资料请自辨真伪、后果自负,本站不承担任何责任。
©2017-2022 蜘蛛吧  https://www.zhizhuba.com/ ICP备案号:冀ICP备19007129号-5