MySQL 的连接原理分析

网友投稿 806 2022-11-21

MySQL 的连接原理分析

MySQL 的连接原理分析

1 MySQL连接介绍

1.1通信类型

同步通信依赖于被调用方,受限于被调用方的性能。也就是说,应用操作数据库,线程会阻塞,等待数据库的返回。

1.2 异步通信

异步可以避免应用阻塞等待,但是不能节省 SQL 执行的时间。如果异步存在并发,每一个 SQL 的执行都要单独建立一个连接,避免数据混乱。但是这样会给服务端带来巨大的压力(一个连接就会创建一个线程,线程间切换会占用大量 CPU 资源)。另外异步通信还带来了编码的复杂度,所以一般不建议使用。如果要异步,必须使用连接池,排队从连接池获取连接而不是创建新连接。

2 连接方式

2.1 短连接

短连接操作步骤:连接–>数据传输–>关闭连接。

2.2 长连接

长连接操作步骤连接–>数据传输–>保持连接–>数据传输–>保持连接–>…………–>关闭连接

3 协议

3.1 TCP/IP

TCP/IP 套接字连接方式是 MySQL 在任何平台都提供的一种连接方式,也是网络中使用最多的一种方式

3.2 Unix Socket

UNIX Socket 是连接 MySQL 需要一个物理文件,文件的存放位置在配置文件中有定义,所以只能在 MySQL 客户端和数据库实例在同一台服务器上的情况下使用。它所有协议中最高效的一个。

4 在服务端中查看连接信息

4.1 查看服务端中的连接数

4.2 优化 Threads_created

4.2.1 解决方案

5 查看连接超时时间

5.1 交互式

5.2 非交互式

5.3 优化连接超时时间

5.3.1 交互式

5.3.2 非交互式

5.3.3 总结

wait_timeout 的作用是,设置非交互连接(就是指那些连接池方式、非客户端方式连接的)的超时时间,默认是 28800,就是 8 小时,超过这个时间,mysql 服务器会主动切断那些已经连接的,但是状态是 sleep 的连接

6 查看最大连接数

6.1 优化最大连接数

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:springboot如何读取sftp的文件
下一篇:Oracle 入门
相关文章

 发表评论

暂时没有评论,来抢沙发吧~