Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2951458
  • 博文数量: 199
  • 博客积分: 1400
  • 博客等级: 上尉
  • 技术积分: 4126
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-06 19:06
个人简介

半个PostgreSQL DBA,热衷于数据库相关的技术。我的ppt分享https://pan.baidu.com/s/1eRQsdAa https://github.com/chenhuajun https://chenhuajun.github.io

文章分类

全部博文(199)

文章存档

2020年(5)

2019年(1)

2018年(12)

2017年(23)

2016年(43)

2015年(51)

2014年(27)

2013年(21)

2011年(1)

2010年(4)

2009年(5)

2008年(6)

分类: Mysql/postgreSQL

2015-01-20 14:39:59

在CentOS 6.5 + PostgreSQL 9.3.4下运行一个高并发的pgbench测试,发现并发数超过一定数量(max_connections已经设成足够大了)的时候,执行会出错。

命令:
pgbench -n -r -c 250 -j 250 -T 2 -f update_smallrange.sql


错误消息:
Connection to database "" failed:
could not connect to server: Resource temporarily unavailable
Is the server running locally and accepting
connections on Unix domain socket "/tmp/.s.PGSQL.5433"?


但是从上面的“Resource temporarily unavailable”看不出是哪个资源出问题了。
经过调查,找到了下面一个链接


原来是PG服务端的listen backlog(受内核参数somaxconn限制)不够用了,somaxconn的默认值是128,调大后,重启PG再测就OK了。

echo 256 > /proc/sys/net/core/somaxconn
阅读(6311) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~