数据库链接池终于搞对了,从100ms优化到3ms!
“ 我在研究 HikariCP(一个数据库连接池)时无意间在 HikariCP 的 Github wiki 上看到了一篇文章,这篇文章有力地消除了我一直以来的疑虑,看完之后感觉神清气爽。 图片来自 Pexels 本文内容 95% 译自这篇文章 : https://github.com/brettwooldridge/HikariCP/wiki/About-Pool-Sizing 数据库连接池的配置是开发者们常常搞出坑的地方,在配置数据库连接池时,有几个可以说是和直觉背道而驰的原则需要明确。 1 万并发用户访问 想象你有一个网站,压力虽然还没到 Facebook 那个级别,但也有个 1 万上下的并发访问,也就是说差不多 2 万左右的 TPS。 那么这个网站的数据库连接池应该设置成多大呢?结果可能会让你惊讶,因为这个问题的正确问法是:“这个网站的数据库连接池应该设置成多小呢?” 下面这个视频是 Oracle Real World Performance Group 发布的,请先看完: http://www.dailymotion.com/video/x2s8uec 因为这视频是英文解说且没有字幕,我替大家做一下简单的概括:视频中对 Oracle 数据库进行压力测试,9600 并发线程进行数据库操作,每两次访问数据库的操作之间 sleep 550ms,一开始设置的中间件线程池大小为