【DB吐槽大会】第8期 - PG 高并发短连接性能差

背景


1、产品的问题点

  • 高并发的短连接性能差劲

2、问题点背后涉及的技术原理

  • 短连接是指每次发起SQL请求时新建数据库连接, SQL请求结束后断开数据库连接的情况. 由于PG是进程模型, 每次发起会话时需要fork process, memcpy等动作. 每秒可以新建的进程数比较有限.

3、这个问题将影响哪些行业以及业务场景

  • 没有连接池的高并发业务

4、会导致什么问题?

  • 性能极差, 每秒新建连接数可能不到2000

5、业务上应该如何避免这个坑

  • 使用连接池
  • 如果应用程序本身不具备连接池的能力, 使用pgbouncer这类中间连接池

6、业务上避免这个坑牺牲了什么, 会引入什么新的问题

  • 增加了管理复杂度

7、数据库未来产品迭代如何修复这个坑

  • 内置线程池
上一篇:用日志记录LINQ中的所有增删改的SQL语句的方法


下一篇:【DB吐槽大会】第67期 - PG 存储过程和函数内对自治事务支持不完整