加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

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

发布时间:2018-10-14 23:27:48 所属栏目:编程 来源:Java高级架构技术
导读:【新产物上线啦】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的配置,提供类型同一,最优的设置。 

(编辑:河北网)

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

热点阅读