当前位置: 首页 > ops >正文

数据库连接池——关键技术点介绍

在 C++ 中,queue 是一种先进先出(FIFO)的顺序容器适配器,它并不直接管理底层的元素存储结构,而是基于某种序列式容器(如 deque 或 list)实现的封装结构。

deque

deque是分段连续的,map实际上是一个vector,vector中存放的是指针,指针分别指向各个缓冲区buffer;
deque的迭代器是一个class,class中包含四个元素:node(指向map),first和last指定当前缓冲区的边界(左闭右开)
start和finish迭代器
在这里插入图片描述

CAS原子操作

CAS 原子操作(Compare-And-Swap,比较并交换)是并发编程中的一种原子性同步原语,在多线程或多核环境下,用于实现无锁(lock-free)编程,避免传统加锁带来的性能问题。
CAS 是一种用于实现无锁并发操作的原子指令,通过比较内存中的值与期望值是否相等来决定是否更新变量,常用于原子整型操作等场景,是并发编程中的基础原语。

关键技术点介绍

MySQL数据库编程、单例模式、queue队列容器、C++11多线程编程、线程互斥、线程同步通信和
unique_lock、基于CAS的原子整形、智能指针shared_ptr、lambda表达式、生产者-消费者线程模型

数据库的访问瓶颈:
1.为减少磁盘IO,在服务器和数据库应用之间加一层缓存数据库,比如redis
2.服务器应用和MySQL服务器相当于CS结构,因此可以增加连接池。在高并发情况下,大量的
TCP三次握手、MySQL Server连接认证、MySQL Server关闭连接回收资源和TCP四次挥手所耗费的
性能时间也是很明显的,增加连接池就是为了减少这一部分的性能损耗。

功能介绍

在系统启动时,在服务器端事先创建和mysqlServer一定数量的连接,用户连接请求直接从线程池中取出一条空闲连接执行;
连接池一般包含了数据库连接所用的ip地址、port端口号、用户名和密码以及其它的性能参数
1.初始连接量initSize
**2.最大连接量maxSize:**一般连接池和服务器程序是部署在一台
主机上的,如果连接池占用过多的socket资源,那么服务器就不能接收太多的客户端请求了。
**3.最大空闲时间maxIdle Time: **动态增加的连接数量超过最大空闲时间,就会被回收;
**4.连接超时时间connection Timeout;**当连接数已经达到maxSize并且没有空闲连接可用,通过阻塞获取连接的时间超过connectionTimeout时间,则获取连接失败,无法访问数据库;
在这里插入图片描述

在这里插入图片描述
开发平台:
windows
压力测试:
验证数据的插入操作所花费的时间,第一次测试使用普通的数据库访问操作,第二次测试使用带连接池
的数据库访问操作,对比两次操作同样数据量所花费的时间,性能压力测试结果如下:
在这里插入图片描述

http://www.xdnf.cn/news/13391.html

相关文章:

  • 亚马逊 API 接口开发:解锁商品详情页实时数据(接入流程解析)
  • Django中的ORM的使用步骤----以MySQL为例
  • 湖北理元理律师事务所债务优化实践:法律框架下的生活重建方案
  • 一台电脑最多能接多少个硬盘
  • 网络编程(数据库:SQLite)
  • 英一真题阅读单词笔记 09年
  • 【编译工具】(版本控制)Git + GitHub Actions:自动化工作流如何让我的开发效率提升200%?
  • HDFS 使用原生连接器连接 S3 对象存储
  • leetcode234-回文链表
  • 美团NoCode设计网站的尝试经验分享
  • 【国产达梦数据库】jdbc的驱动细微差异都会导致服务启动不了
  • Linux(Centos 7.6)命令详解:whoami
  • 【linux命令实践】
  • leetcode 768. 最多能完成排序的块 II
  • wordpress搬家 数据库备份迁移
  • python里的PDFMiner.six 库介绍
  • Vue-Typed-JS打字动画效果
  • HDFS 异构存储及存储策略
  • html打印合同模板
  • SAP学习笔记 - 开发31 - 前端Fiori开发 Device Adaptation(设备自适应)
  • 3 Studying《深入理解Android卷(邓凡平)》2
  • python基础面试练习题
  • Spring Boot 3 集成 MyBatis 连接 MySQL 数据库
  • TrOCR模型微调
  • 手机连接windows遇到的问题及解决方法
  • 40道Bash Shell高频题整理(附答案背诵版)
  • day 50
  • 【记录头条】头条内容合规快速自查清单
  • C++与C有什么不同
  • 【案例实战】轻创业技术手册:如何用最小MVP模型验证市场需求?低成本创业可以做什么?低成本创业项目排行榜前十名!轻资产创业项目做什么比较好?格行代理怎么样?