软件设计思想:池化技术

软件设计思想:池化技术

先举个例子

一种简单的架构:前端一台 Web 服务器运行业务代码,后端一台数据库服务器存储业务数据。

系统架构

系统上线时,用户量不大,运行平稳,但是随着流量的提升,系统访问速度会变慢。

分析日志后,发现系统慢的原因是出现在系统库的交互上,因为数据调用的方式是首先获取数据库的连接,然后依靠这个连接,查询数据库的数据,最后释放数据库资源。

为什么频繁创建连接响应会变慢?

整个 MySQL 创建连接过程主要分成两个部分:

  1. 第一部分是采用建立 TCP 连接。
    通过三次握手 建立 TCP 连接。
  • 客户端向服务端发送一个 SYN 包
  • 服务端给客户端发送一个 ACK 包和一个 SYN 包
  • 第三个是客户端给服务端发送一个 ACK 包
  1. 第二部分是 MySQL 服务端校验客户端密码的过程

第一个包是服务端给客户端要认证的报文,第二个和第三个包是客户端加密后发送给服务端的包,最后两个包是服务端给客户端 OK 的报文。

数据校验过程大概占整个查询过程的80% 时间,比如 数据校验占 4ms ,查询过程使用 1ms 这样频繁创建连接,创建

wangxiaoming CSDN认证博客专家 架构 Spring Boot Redis
博客是很好的总结和记录工具,如果有问题,来不及回复,关注微信公众号:程序员开发者社区,获取我的联系方式,向我提问,也可以给我发送邮件,联系 1275801617@qq.com
已标记关键词 清除标记
©️2020 CSDN 皮肤主题: Age of Ai 设计师:meimeiellie 返回首页
实付 19.89元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值