PostgreSQL 软肋 “最大连接数” 到底是不是问题?

开头还是介绍一下群,如果感兴趣PolarDB ,MongoDB ,MySQL ,PostgreSQL ,Redis, OceanBase, Sql Server等有问题,有需求都可以加群群内有各大数据库行业大咖,可以解决你的问题。加群请联系 liuaustin3 ,(共2350人左右 1 + 2 + 3 + 4 +5 + 6 + 7)(1 2 3 4 5 群均已爆满,请不要在问有没有位置谢谢)

d994c48cbe3b468008d50d073ce06360.png

PostgreSQL 为什么接受大量连接到数据库需要连接池  (这是一篇2020年8月4日我写的文章,分析为什么,根本上也没有如某些diss postgresql 连接数不能太高问题非常严重的人所说的影响严重,实际上针对PostgreSQL 连接的问题,还真有一个可以说一下的,但鲜有人提到)

正文

————————————————————————————

最近在群里对于PostgreSQL的问题点就没有停止过,前两天PostgreSQL的老问题连接数不能过高的问题,又成为刺向PostgreSQL的一根芒刺。作为一个数据库渣男,大部分数据库都玩过了,的确从其他的数据库DBA的角度来看,PostgreSQL的确和其他的数据库在这里是不太一样,有些特殊的要求,注意我这里用的不太一样,不太一样不证明这就是一个缺陷,缺点,或者痛点。

其实从另一个角度上来说,我到觉得这是一件好事,我们来分析一下。从应用开发的角度来说,应用是可以横向扩展的,这在业内不是一个难题,无状态嘛,但在整体应用程序设计中,最重要的点就在数据库,数据库一直是应用程序设计中的一个瓶颈点,所以后来出现了分布式数据库,Tidb, OceanBase  等数据库产品,来从根本解决这个问题。

当然今天讨论的不是这个话题,咱们回到刚才的话题,PostgreSQL的连接数到底是不是他的弱点,我个人觉得,不是,我是从应用开发的角度来看这个问题的。

比如,MySQL可以支持6000的连接数,这个数是什么数,max_connections,最大连接数,这个数是active_sessions的,根据我们的工作经验,实际上大部分数据库的问题在active_sessions,而不是我们提到的max_connections。所以我们标定这个问题清晰了,解决问题就可以了。而不是抓住一个值,来去说明某个实际上并不重要的问题。终究咱们要通过实际情况和需求来去评判某个数据库的优良,而不是一个参数抓住就往死里按,这对解决实际问题是没有意义的。

那么核心的问题是active_sessions 的问题,这个问题对于PG,SQL SERVER, MySQL, Oracle, Polardb ,MongoDB 这都是一个概念,是否有充足的资源来去满足活跃的链接的访问,此时要比拼的就是 IOPS , CPU, Memory, 系统整体的性能,以及访问的方式是什么OLTP OR OLAP 等。

idle 连接数过多导致的问题,这不光是在PG,其他的数据库也存在类似的问题,只不过可能有人又要拿出来,进程和线程的模式来说事了。

在应用程序都在大量使用连接池的,JAVA自己的连接池,其中有一个目的与PostgreSQL的pgbouncer的功能是类似的,就是链接复用,只不过JAVA的连接池的功能没有pgbouncer在链接复用上的功能强而已。

从这里可以得出一些结论

1  从应用开发的角度来说,连接数高并不是一个好事,对于应用程序本身也是,所以应用程序本身有程序的连接池,来进行访问进程的复用。

2  大量idle的连接本身对于内存的开销尤其是数据库方面的开销是有负担的,超过内存的owner回导致OOM,这在任何数据库里面都一样,甚至有些数据库本身在这方面的内存管理能力不太好,导致内存溢出的问题。

3  讨论一个数据库可以进行的max_connections数据量多,并不是衡量一个数据库能力的高低的关键维度,甚至可能都不是一个维度。

4  PostgreSQL 本身有自己解决问题的方式,后期可能在PostgreSQL 快速迭代的情况下,这些问题可能会逐步解决,甚至和Oracle 类似有自己内部解决此类问题的方式。

综上所述,一个成熟的数据库管理人员,可以更加关注active_sesssion在不同的数据库中的表现,相信PostgreSQL 不会让您在这个位置失望。

最后说一个人家亲口和我说的事情,某云数据库架构师去某金融企业做回访,提到MySQL类数据库产品的一些新功能想介绍一下,这个金融系统的数据库负责人说,不太想听这个,能说说PostgreSQL类的产品吗,他比较想听。

置顶文章:

PostgreSQL  连接是否要通过SSL,为什么使用SSL 连接后,业务部门会投诉我?

PolarDB VS PostgreSQL  "云上"性能与成本评测 -- PolarDB 比PostgreSQL 好?

优化技法:使用In-memory Disk代替PostgreSQL中的临时文件

PostgreSQL 具有createdb的用户无法创建数据库的原因(之一)

PostgreSQL  同样的语句 一会快 一会慢到底怎么回事,

MongoDB  系统IOPS 告警系统处于崩溃,优化语句从1秒优化到1毫秒解决问题

云原生数据库是青出于蓝胜于蓝,还是数据库产品的倒退?

专访唐建法-从MongoDB中国第一人到TapData掌门人的故事

MySQL 8.0x 到 9.0均可能崩溃--云厂商开发指责 MYSQL不测试就推新版本?

DISS 阿里云 DAS数据库服务,阿里云数据库服务的毒瘤

往期热门文章:

临时工说:DBA 7*24H 给2万的工作,到底去不去?

PolarDB 最近遇到加字段加不上的问题 与 使用PolarDB 三年感受与恳谈

PostgreSQL 稳定性平台 PG中文社区大会--杭州来去匆匆

MySQL 让你还用5.7 出事了吧,用着用着5.7崩了

临时工访谈:问金融软件开发总监  哪些业务不用传统数据库

PolarDB  Serverless POC测试中有没有坑与发现的疑问

临时工访谈:PolarDB  Serverless  发现“大”问题了  之 灭妖记 续集

临时工访谈:庙小妖风大-PolarDB 组团镇妖 之 他们是第一

PolarDB for PostgreSQL  有意思吗?有意思呀

PolarDB  Serverless POC测试中有没有坑与发现的疑问

MySQL 的SQL引擎很差吗?由一个同学提出问题引出的实验

临时工访谈:从国产数据库 到 普罗大众的产品 !与在美国创业软件公司老板对话

PostgreSQL 如何通过工具来分析PG 内存泄露

MySQL 的SQL引擎很差吗?由一个同学提出问题引出的实验

临时工访谈:我很普通,但我也有生存的权利,大龄程序员 求职贴

临时工说: 快速识别 “海洋贝壳类” 数据库方法速递

临时工说:国产 数据库 销售人员  图鉴

临时工说:DBA 是不是阻碍国产数据库发展的毒瘤 ,是不是?从国产DB老专家的一条留言开始 (其实更好看的是文章下方的留言)

感谢 老虎刘 刘老师 对 5月20日 SQL 问题纠正贴 ---PostgreSQL 同一种SQL为什么这样写会提升45%性能

PostgreSQL 同一种SQL为什么这样写会提升45%性能 --程序员和DBA思维方式不同决定

MongoDB 不是软柿子,想替换就替换

PostgreSQL  熊灿灿一句话够学半个月 之 KILL -9

MongoDB  挑战传统数据库聚合查询,干不死他们的

临时工说:国内数据库企业存活   “三板斧”

临时工访谈:庙小妖风大-PolarDB 组团镇妖 之 他们是第一  (阿里云组团PK笔者实录

临时工访谈:金牌 “女” 销售从ORACLE 转到另类国产数据库 到底  为什么?

临时工访谈:无名氏意外到访-- 也祝你好运(管理者PUA DBA现场直播)

临时工说:搞数据库 光凭的是技术,那DBA的死多少次?

PostgreSQL  分组查询可以不进行全表扫描吗?速度提高上千倍?

临时工说:分析当前经济形势下 DBA 被裁员的根因

PostgreSQL PG_DUMP 工作失败了怎么回事及如何处理

MySQL 八怪(高老师)现场解决问题实录

PostgreSQL 为什么也不建议 RR隔离级别,MySQL别笑

临时工访谈:OceanBase上海开大会,我们四个开小会 OB 国产数据库破局者

临时工说:OceanBase 到访,果然数据库的世界很卷,没边

临时工访谈:恶意裁员后,一个国产数据库企业程序员的心声

临时工说:上云后给 我一个 不裁 DBA的理由

PolarDB for PostgreSQL  有意思吗?有意思呀

PostgreSQL   玩PG我们是认真的,vacuum 稳定性平台我们有了

临时工说:裁员裁到 DBA 咋办  临时工教你 套路1 2 3

PolarDB  搞那么多复杂磁盘计费的东西,抽筋了吗?

临时工说:OceanBase 到访,果然数据库的世界很卷,没边

MONGODB  ---- Austindatabases  历年文章合集

MYSQL  --Austindatabases 历年文章合集

POSTGRESQL --Austindatabaes 历年文章整理

POLARDB  -- Ausitndatabases 历年的文章集合

PostgreSQL  查询语句开发写不好是必然,不是PG的锅

SQL SERVER 如何实现UNDO REDO  和PostgreSQL 有近亲关系吗

MongoDB 2023纽约 MongoDB 大会 -- 我们怎么做的新一代引擎 SBE Mongodb 7.0双擎力量(译)

MongoDB 2023年度纽约 MongoDB 年度大会话题 -- MongoDB 数据模式与建模

MongoDB  双机热备那篇文章是  “毒”

MongoDB   会丢数据吗?在次补刀MongoDB  双机热备

临时工说:从人性的角度来分析为什么公司内MySQL 成为少数派,PolarDB 占领高处

POLARDB  到底打倒了谁  PPT 分享 (文字版)

PostgreSQL  字符集乌龙导致数据查询排序的问题,与 MySQL 稳定 "PG不稳定"

PostgreSQL  Patroni 3.0 新功能规划 2023年 纽约PG 大会 (音译)

Austindatabases 公众号,主要围绕数据库技术(PostgreSQL, MySQL, Mongodb, Redis, SqlServer,PolarDB, Oceanbase 等)和职业发展,国外数据库大会音译,国外大型IT信息类网站文章翻译,等,希望能和您共同发展。

截止今天工发布1200篇文章

ccaf2ce516608145f0ab712da86243bd.png

79474a96fdb2b801617df69abf44b22e.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值