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

简介: 大家好,这里是DB吐槽大会,第8期 - PG 高并发短连接性能差

背景


1、产品的问题点

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

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

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

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

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

4、会导致什么问题?

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

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

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

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

  • 增加了管理复杂度

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

  • 内置线程池
相关文章
|
3月前
|
存储 监控 固态存储
在高并发环境下,如何优化 WAL 的写入性能?
在高并发环境下,如何优化 WAL 的写入性能?
|
6月前
|
设计模式 网络协议 Java
Tomcat 高并发之道原理拆解与性能调优
Tomcat 高并发之道原理拆解与性能调优
109 0
|
1月前
|
存储 监控 固态存储
在高并发环境下,如何优化 WAL 的写入性能?
在高并发环境下,如何优化 WAL 的写入性能?
|
2月前
|
缓存 监控 安全
如何提高 Java 高并发程序的性能?
以下是提升Java高并发程序性能的方法:优化线程池设置,减少锁竞争,使用读写锁和无锁数据结构。利用缓存减少重复计算和数据库查询,并优化数据库操作,采用连接池和分库分表策略。应用异步处理,选择合适的数据结构如`ConcurrentHashMap`。复用对象和资源,使用工具监控性能并定期审查代码,遵循良好编程规范。
|
3月前
|
存储 缓存 运维
优化高并发环境下的数据库查询性能:实战经验与技巧
在高并发环境下,数据库性能往往成为系统瓶颈。本文将深入探讨在高并发场景下优化数据库查询性能的策略与实践,包括索引优化、查询优化、数据库架构设计以及缓存机制的应用。通过对具体案例的分析,读者将能够掌握提升数据库性能的关键技术,从而在面对大规模用户请求时提高系统的响应速度和稳定性。
|
3月前
|
监控 算法 Java
企业应用面临高并发等挑战,优化Java后台系统性能至关重要
随着互联网技术的发展,企业应用面临高并发等挑战,优化Java后台系统性能至关重要。本文提供三大技巧:1)优化JVM,如选用合适版本(如OpenJDK 11)、调整参数(如使用G1垃圾收集器)及监控性能;2)优化代码与算法,减少对象创建、合理使用集合及采用高效算法(如快速排序);3)数据库优化,包括索引、查询及分页策略改进,全面提升系统效能。
49 0
|
6月前
|
监控 安全 应用服务中间件
|
11月前
|
消息中间件 缓存 算法
阿里技术专家,用257页文档分享多线程高并发性能调试经验
多线程和高并发这两大块,现在面试问得越来越多,也是相对一个初级的程序员向中高级迈进的必须要踏过的一个坎儿。
百万级高并发mongodb集群性能数十倍提升优化实践(上篇)
本文是oppo互联网某百亿级数据量/百万级高并发mongodb集群线上真实优化案例,荣获mongodb中文社区2019年度一等奖。
百万级高并发mongodb集群性能数十倍提升优化实践(上篇)
|
设计模式 Java 数据库
字节面试官狂问我:你没有高并发、性能调优经验,为什么录取你?
粉丝提问才恍然回神,又要到金九银十跳槽高峰期了。最近好多粉丝都在问: 没有高并发项目经验,但是面试的时候经常被问到高并发、性能调优方面的问题,有什么办法可以解决吗?

热门文章

最新文章

  • 1
    高并发场景下,到底先更新缓存还是先更新数据库?
    69
  • 2
    Java面试题:解释Java NIO与BIO的区别,以及NIO的优势和应用场景。如何在高并发应用中实现NIO?
    75
  • 3
    Java面试题:设计一个线程安全的单例模式,并解释其内存占用和垃圾回收机制;使用生产者消费者模式实现一个并发安全的队列;设计一个支持高并发的分布式锁
    68
  • 4
    Java面试题:如何实现一个线程安全的单例模式,并确保其在高并发环境下的内存管理效率?如何使用CyclicBarrier来实现一个多阶段的数据处理任务,确保所有阶段的数据一致性?
    65
  • 5
    Java面试题:结合建造者模式与内存优化,设计一个可扩展的高性能对象创建框架?利用多线程工具类与并发框架,实现一个高并发的分布式任务调度系统?设计一个高性能的实时事件通知系统
    55
  • 6
    Java面试题:假设你正在开发一个Java后端服务,该服务需要处理高并发的用户请求,并且对内存使用效率有严格的要求,在多线程环境下,如何确保共享资源的线程安全?
    71
  • 7
    在Java中实现高并发的数据访问控制
    42
  • 8
    使用Java构建一个高并发的网络服务
    32
  • 9
    微服务06----Eureka注册中心,微服务的两大服务,订单服务和用户服务,订单服务需要远程调用我们的用,户服务,消费者,如果环境改变,硬编码问题就会随之产生,为了应对高并发,我们可能会部署成一个集
    37
  • 10
    如何设计一个秒杀系统,(高并发高可用分布式集群)
    131
  • 下一篇
    无影云桌面