暂无图片
PostgreSQL 差不多到400左右连接数, 机器内存就扛不住了, 正常吗?
我来答
分享
暂无图片 匿名用户
PostgreSQL 差不多到400左右连接数, 机器内存就扛不住了, 正常吗?

PostgreSQL 差不多到400左右连接数, 机器内存就扛不住了, 正常吗?

我来答
添加附件
收藏
分享
问题补充
4条回答
默认
最新
哇哈哈

这个要具体情况具体分析了,

一条sql把机器搞死的也不是没见过

暂无图片 评论
暂无图片 有用 1
打赏 0
愤怒的蜗牛
2022-10-31
布衣
2022-10-31
在理
布衣
暂无图片

你的服务器能抗住就正常。你的服务器抗不住那就是不正常。。。

暂无图片 评论
暂无图片 有用 2
打赏 0
张sir

1、400个连接如果都是活动会话,即使是短平快的sql,那你的负载已经非常高了。

2、如果sql都是多表关联查询,大表扫描,那400个连接扛不住很正常。

3、重点分析下sql语句的执行情况。

暂无图片 评论
暂无图片 有用 0
打赏 0
阎书利

这个也要结合你环境的业务SQL去看的,看看执行较多的SQL类型有没有大量的sort,或者hash join等操作。因为本身一个SQL执行过程如果包含了多个这种操作的话,单个SQL的占用内存可能不仅仅是一个work_mem的大小,一个复杂的SQL可能用了好几倍的work_mem。例如一个SQL包含了两个sort的操作,work_mem设置为32MB。他可能占用了最多64MB内存,如果你业务并发一瞬间上来了。400个连接都执行同一类这种SQL,那么你可能一下就用了25GB的内存。而且也可能有少部分的SQL走的执行计划存在问题,直接一个两个SQL就导致占用了大量的内存,可以先根据内存占用情况看看是不是某种SQL的问题,再分析下执行计划里的操作哪一步会占用较多内存,这是和SQL相关的。除此之外VACUUM、CREATE INDEX、ALTER TABLE ADD FOREIGN KEY等等这些操作也都是要使用内存的。也可以看一看数据库里这些维护操作的频率。

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
postgreSQL 想做个数据备份,但是有无效页,怎么办?
回答 1
先尝试修复数据库,然后再进行备份试试呢
Pacemaker的PostgreSQL一主多从读
回答 6
大佬,这种cls命令在哪查文档
postgresql可以指定除哪些字段以外,其他字段都查出来吗?
回答 1
其他数据库也没有这个功能吧。
postgresql有大量的idle连接怎么办?
回答 1
使用数据库连接池pgbouncer数据库在没有任何连接池的情况下,应用程序必须直接访问数据库来建立连接。打开一个连接会产生消耗,关闭一个连接也会产生消耗,而这样的消耗,伴随着你打开的连接越多,则消耗的
有一个postgreSQL实例, 表很大, 几千万行有10几个 cpu 和 mem 消耗 10%和40%,locks能到 1万5。 这个实例可能是因为什么原因, 造成服务能力上不去?
回答 1
有慢SQL
postgresql count慢,有什么解决思路?
回答 1
是因为不带条件吗?要么没用到索引。
如何通过postgresql元表来查找表的索引是降序的?
回答 1
selectfrompgindexes;indexdef列可以看到valueDESC
PG数据库的shared_buffers满了,checkpoint还未发生,这时数据库处于什么状态?
回答 2
这个问题给我看一愣,缓冲池就是给用户用的啊,一直是满的不是应该的吗。如果是想问缓冲池页面的淘汰机制,pg是时钟扫描算法,扫一个页面如果页面状态是被钉住(在使用),如果没有钉住则会将钉值减一,如果一个页
成为pg高手的方法是啥?
回答 1
已采纳
成为PG高手需要不断学习和练习。以下是一些方法:1.学习SQL语言,这是PostgreSQL的基础。2.学习PostgreSQL的存储过程开发,可以使用众多的程序语言,包括Java、Perl、Pyth
能否列举个pg中的索引跳跃扫描的例子??
回答 1
pg优化器暂时不支持索引跳跃扫描,可以通过CTE改写sql遍历前导列来等效实现,参考:https://developer.aliyun.com/article/582866
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~