加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

高性能数据库连接池的内幕

发布时间:2018-11-02 15:26:20 所属栏目:MySql教程 来源:Java高级架构技术
导读:副标题#e# 【新产品上线啦】51CTO播客,随时随地,碎片化学习 摘要 如何打造高性能的数据库连接池框架,可以从哪些角度进行优化,连接池的大量优化实践如何为你的系统保驾护航,本专题将带你走进连接池的世界,为你一一揭晓。 大家可能会有这样疑问:连接池

执行SQL的时候,会将SQL的?替换成转义后的字符,发送到数据库执行。

PSCache

高性能数据库连接池的内幕

MySQLdriver 默认不开启,可通过设置 cachePrepStmts = true 进行开启

QueryTimeout

高性能数据库连接池的内幕

之前也遇到因为开启了queryTimeout,导致连接泄露的问题。

唯品会自研连接池:Caelus

Caelus是唯品会自研的高性能的分布式的数据库连接池。

  1. 高性能:基于无锁的连接池设计模型来提升连接池性能;
  2. 在分库较多的场景下,减少线程数。 假如有128个分库,现有连接池模型下则需要使用128个独立的连接池,每个连接池都需要线程(1-4个,不同的连接池不同)处理任务。则总共需要维护128到128*4个线程,开销巨大。而Caelus连接池会大大减少线程数。
  3. 连接复用。 对于 一个MySQL 的instance上面有多个schema场景下。现有连接池不同的schema的连接不可复用。而Caelus可以复用不同schema的连接,提升性能。
  4. 过多的事务指令。如果是事务语句,则从连接池拿到连接后,需要先开启事务(setautocommit=false),归还时需要再设置(set autocommit=true)。每使用一次连接,均需要额外执行两条事务指令。Caelus能有效减少事务指令。
  5. 配置规范的统一。结合MySQL的设置,提供规范统一,最优的配置。 

(编辑:云计算网_泰州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读