线程池

简介

1、mysql每连接每线程,mysql都分配一个单独的线程,该线程处理客户端发来的所有命令
2、每个线程会占用一定的系统资源,线程数越多消耗的系统资源也越多
3、线程的创建和销毁有一定的开销
4、当线程数过多时,如果大部分线程都处于活跃状态,会导致频繁的上下文切换,从而造成系统巨大的开销
5、线程的本质就是线程共用,多个连接之间共享线程

何时使用

1、在有大量短查询的业务场景下
2、大量长查询的业务场景下不适合使用线程池,由于长查询占据了线程池的线程,导致线程池出现效率低下的情况

组成

1、线程池由多个分组组成
2、每个分组由一个任务队列、一个listener线程以及多个worker线程组成
3、还存在一个timer线程(用于检查线程池分组的状态以及定期清理掉过期的客户端连接)

连接池

简介

1、连接池是一些网络代理服务或应用服务器的特性(如J2EE服务器)
2、实现了一个持久连接的“池”,允许其它程序,客户端来连接
3、连接池将被所有连接的客户端共享使用
4、连接池可以加速连接,也可以减少数据库连接,降低数据库服务器的负载

短连接

简介

1、程序和数据库通信时建立连接,执行操作后,连接关闭
2、基本步骤:连接->数据传输->关闭连接
3、慢速网络下使用短连接,连接的开销会很大
4、在生产繁忙的系统中,连接也可能会收到系统端口数的限制
5、每秒建立上千个连接,连接断开后,端口不会被马上回收利用,必须经历一个“FIN”阶段的等待,直到可被回收利用为止,这样导致端口资源不够用

长连接

简介

1、长连接是指程序之间的连接在建立之后,就一直打开,被后续程序重用
2、当收到一个永久连接请求时,将检查是否已经存在一个(前面已经开启了的)相同的永久连接
3、如果存在,则直接使用这个连接,不存在,则建立一个新的连接(“相同”指用相同的用户名和密码到相同主机的连接)
4、客户端角度,不用每次创建新连接,若客户端对服务器的连接请求很频繁,永久连接将更高效
5、对于高并发业务,若果可能会碰到连接的冲击时,推荐使用长连接或连接池
6、服务器角度,可以节省创建连接的开销,但维持长连接需要内存
7、扩展性好的站点,大部分的访问不需要连接数据库,如果需要频繁访问数据库,可能会在流量增大时候产生性能问题,此时, 长短连接都无法解决问题,应该进行合理的设计和优化来避免性能问题

持久连接和连接池的区别

长连接是一些驱动、驱动框架,ORM工具的特性,由驱动来保持连接句柄的打开,以便后续的数据库操作可以重用连接,从而减少数据库的连接开销
连接池是应用服务的组件,可以通过参数来配置连接数、连接监测、连接的生命周期

参考:《MySQL DBA 修炼之道》

MySQL 线程池&连接池&长连接&短连接的更多相关文章

  1. “ping”命令的原理就是向对方主机发送UDP数据包,HTTP在每次请求结束后都会主动释放连接,因此HTTP连接是一种“短连接”

    Socket  是一套建立在TCP/IP协议上的接口不是一个协议 应用层:  HTTP  FTP  SMTP  Web 传输层:  在两个应用程序之间提供了逻辑而不是物理的通信(TCP  UDP) T ...

  2. [Golang] 从零開始写Socket Server(3): 对长、短连接的处理策略(模拟心跳)

    通过前两章,我们成功是写出了一套凑合能用的Server和Client,并在二者之间实现了通过协议交流.这么一来,一个简易的socket通讯框架已经初具雏形了,那么我们接下来做的.就是想办法让这个框架更 ...

  3. MySQL线程池

    MySQL线程池只在Percona,MariaDB,Oracle MySQL企业版中提供.Oracle MySQL社区版并不提供. 在传统方式下,MySQL线程调度方式有两种:每个连接一个线程(one ...

  4. php连接池 php–cp

    原文地址:http://blog.sina.com.cn/s/blog_9eaa0f400102v9fd.html 数据库连接池php-cp介绍时间 2015-01-23 11:53:05 数据库连接 ...

  5. java socket 长连接 短连接

    长连接 是一旦一个客户端登陆上服务器,其与服务器之间的连接就不关闭,不管他们之间进行了多少次交易,直到客户端退出登陆或网络出现故障.这种技术在联机交易系统实现有利于提高效率. 短连接是客户端每发一个请 ...

  6. 长连接 短连接 RST报文

    https://baike.baidu.com/item/短连接 短连接(short connnection)是相对于长连接而言的概念,指的是在数据传送过程中,只在需要发送数据时,才去建立一个连接,数 ...

  7. HTTP的长连接和短连接——Node上的测试

        本文主要从实践角度介绍长.短连接在TCP层面的表现,借助Node.JS搭建后台服务,使用WinHTTP.Ajax做客户端请求测试,最后简单涉及WebSocket.     关键字:长连接.短连 ...

  8. (转)HTTP 长连接和短连接

    1. HTTP协议与TCP/IP协议的关系 HTTP的长连接和短连接本质上是TCP长连接和短连接.HTTP属于应用层协议,在传输层使用TCP协议,在网络层使用IP协议.IP协议主要解决网络路由和寻址问 ...

  9. Http 和TCP的关系,TCP长连接和短连接有什么区别?

    HTTP 协议即超文本传送协议(Hypertext Transfer Protocol ),是Web联网的基础,也是手机联网常用的协议之一,HTTP协议是建立在TCP协议之上的一种应用.由于HTTP在 ...

  10. HTTP 长连接和短连接

    1. HTTP协议与TCP/IP协议的关系 HTTP的长连接和短连接本质上是TCP长连接和短连接.HTTP属于应用层协议,在传输层使用TCP协议,在网络层使用IP协议.IP协议主要解决网络路由和寻址问 ...

随机推荐

  1. Eclipse 如何查看源代码

    Eclipse 关联源代码:

  2. docker-compose学习

    该实践是在已经安装了docker的基础上,如果还未安装docker,请先安装docker : https://www.cnblogs.com/theRhyme/p/9813019.html docke ...

  3. 常用curl命令

    curl -F "userfile=@/Users/username/Downloads/20170502.zip" http://youip/up.php curl -X POS ...

  4. 如何使用Shiro

    一.架构 要学习如何使用Shiro必须先从它的架构谈起,作为一款安全框架Shiro的设计相当精妙.Shiro的应用不依赖任何容器,它也可以在JavaSE下使用.但是最常用的环境还是JavaEE.下面以 ...

  5. 小强学渲染之OpenGL状态机理解

    状态机是理论上的一种机器,呃这个说法非常非常的抽象.通俗一点理解,状态机描述了一个对象在其生命周期内所经历的各种状态,状态间的转变,发生转变的动因,条件及转变中所执行的活动.或者说,状态机是一种行为, ...

  6. js数组去除重复数据

    一个有重复数据的数组,准备一个空数组,遍历有重复数据的数组同时用indexOf对比那个空数组判断是否有一样的,不一样的push进去空数组 let arr = dataInfo.map(item =&g ...

  7. Apache beam中的便携式有状态大数据处理

    Apache beam中的便携式有状态大数据处理 目标: 什么是 apache beam? 状态 计时器 例子&小demo 一.什么是 apache beam? 上面两个图片一个是正面切图,一 ...

  8. java 线程池简单例子

    package com.hra.riskprice; import com.hra.riskprice.SysEnum.Factor_Type; import com.hra.riskprice.po ...

  9. CodeForces - 589D

    题目链接:http://codeforces.com/problemset/problem/589/D 思路:将每个人的信息转化为自变量为时间因变量为位置的一元方程.再一个个判断是否相遇. 若两人同向 ...

  10. 在centos7上使用最简单的方法把php脚本做成服务,随开机启动运行

    1.准备文件:coffeetest.service # copy to /usr/lib/systemd/system # systemctl enable coffeetest.service [U ...