MYSQL数据交互原理与性能问题分析
admin
2023-04-17 17:21:25
0

我们在性能测试监控MYSQL数据库时,作为专业非功能性测试人员,我们需要了解操作系统工作原理、业务实现架构逻辑、应用架构实现逻辑、数据库工作原理,才能真正的做好非功能性测试,而大部分业务型交易问题都是因为数据库问题原因产生的性能瓶颈,而更多数情况都是因为对数据库出现问题的情况和处理思路不清晰。在进行MySQL的优化之前必须要了解的就是MySQL的查询过程,也就是实际前端业务操作到从磁盘捞取数据整个实现过程如果运作,了解了这些,明白查询优化是遵循MySQL优化器方式运行,具体如下图:

MYSQL数据交互原理与性能问题分析
根据上图所示我们了解到,无论是手机端还是PC端,例如我们点餐系统,通过APP客户端,我们查询要点的餐饮,这时通过网络连接同数据库服务层建立TCP连接。

读写数据方式
1、步骤一与数据库连接建立:
连接管理模块会建立连接,并请求一个连接线程。如果连接池中有空闲的连接线程,则分配给这个连接,如果没有,在没有超过最大连接数的情况下,创建新的连接线程负责这个客户端。

2、步骤二检查语法
接下来验证用户是否有权限。例如你有注册,查看该用户是会员用户,方可提供点餐服务,连接线程开始接收并处理来自客户端的SQL语句。连接线程接收到SQL语句之后,将语句交给SQL语句解析模块进行语法分析和语义分析。

3、步骤三检查缓存
如果是查询语句,则可以先看查询缓存中是否有结果,如果有结果可以直接返回给客户端。

4、步骤四检查引擎优化
如果查询缓存中没有结果,就需要真的查询数据库引擎层了,于是发给SQL优化器,进行查询的优化。就是请求数据库引擎层,打开表,接下来的处理过程就到了数据库引擎层,例如InnoDB。

5、步骤五,数据读取方式
在数据库引擎层,要先查询缓存是否有数据,如果有直接返回,如果没有就要从磁盘上去读取,把磁盘中找到相应的数据加载到缓存中,下次读取直接从缓存读取从而使得后面的查询更加高效。

6、步骤六,关闭连接
获取数据后返回给客户端,关闭连接,释放连接线程,过程结束。

性能问题分析:
如果语法写的有问题,则在从磁盘捞取数据时会出现磁盘IO高或者CPU高,那就是语法写法问题或者索引使用问题,如果语法分析没问题,则看缓存页配置是否太小了,或者本身物理内存就小,给缓存的空间就少了。

相关内容

热门资讯

缺油!日本快撑不住了 日本零食巨头卡乐比为节省油墨竟将原本漂亮的包装改成了黑白两色,从“喜食”变得看上去像“丧食”。日本石...
英国首相斯塔默再遭逼宫,在内阁... 【文/观察者网 熊超然】在上周经历地方选举惨败后,作为执政党领袖的英国首相斯塔默于当地时间5月11日...
日防相声称:新西兰考虑进口日本... 据凤凰卫视报道,5月12日,日本防卫大臣小泉进次郎在记者会上表示,新西兰已将日本海上自卫队最上型改良...
小米YU7 GT“车厘子红”无... 5 月 12 日消息,博主 @王的男人、昨日晒出了小米 YU7 GT「车厘子红」实车照片。画面显示,...
中关村论坛重磅发布!大兴机场临... 3月27日,在中关村论坛数据跨境流动创新发展论坛上,北京大兴国际机场临空经济区(大兴)正式发布跨境可...
白宫公布随特朗普访华16位商界... 白宫11日公布了将随特朗普一同访华的商界领袖名单。据多家美媒报道,总共将有16位美国商界代表来到北京...
荣耀申请代码生成方法专利,提高... 国家知识产权局信息显示,南京荣耀软件技术有限公司申请一项名为“代码生成方法、电子设备及存储介质”的专...
凤凰连线:中美新一轮经贸磋商,... 中美双方将在韩国举行第七轮经贸磋商。美方的阵容和日程安排如何?在这轮磋商中有哪些关切?凤凰卫视驻韩国...
知情人士:阿联酋秘密打击伊朗,... 据参考消息援引美国《华尔街日报》网站5月11日报道,多名知情人士透露,阿联酋已对伊朗发动军事打击,令...
美防长称美伊停火协议依然有效 △赫格塞思(资料图)当地时间5月12日,美国国防部长赫格塞思表示,他们针对伊朗问题的所有情况都制定了...