人大金仓最大连接数

网友投稿 566 2022-08-22

人大金仓最大连接数

人大金仓的连接数数量,需要根据服务器内存大小设置。

公司有台开发用的数据库服务器,专门跑人大金仓,人大金仓的最大连接数设置为500。但开发过程中,不到20号人一起开发,连接数时有耗尽。报这个错:

com.kingbase8.util.KSQLException: 致命错误: 已保留的连接位置为执行非复制请求的超级用户预留

还别说,kingbase起源于开源数据库项目postgreSql,概念玩起来一套套的,感觉比oracle还丰富。像这种在连接耗尽,为超级用户保留少量连接通道的思想就很赞。

回到我们的开发服务器。究竟要将最大连接数设为多少合适呢?

其实,这跟服务器的内存大小有关。内存大,连接数就可以设得多一些,相反就少。问题是,这个度怎么把握。

人大金仓的内存模型,或者说,其内存管理机制,是将内存分为2大部分:共享内存和本地内存。在这里,本地不是当前机器的意思,而是指每个数据库连接,本地内存只供每个数据库连接专用;共享内存则好理解,所有连接共用。

简单来说,“共享内存”用于缓存数据和索引,供大家读取;“本地内存”根据自己需要对它们进行排序等各种操作。因此,数据库连接数跟“本地内存”息息相关。其中最重要的参数是work_mem(顾名思义,是连接进程的内存空间,用于排序、哈希操作等)。一台人大金仓服务器的数据库最大连接数应该满足:

最大连接数(max_connections) * work_mem大小 <

work_mem默认大小为4M,据此可以算。

当然,前面说到,人大进仓的内存模型分为本地内存和共享内存,不能全部被本地内存占尽,所以也应该留一些给共享内存。留多少呢?目前我还不清楚,就倾向留一半。比如说,我们公司那台人大金仓服务器,内存共32G,操作系统分去4G,还剩28G,分一半给本地内存,(28G / 2) / 4M = (14 * 1024) / 4 = 3584。因此将连接数调到3500应该是没有问题的。不过管机器的人比较谨慎,我说服他调到1000。

效果如何,还须观察。

附录:一些观察连接数的命令

# 进人大金仓ksql -h 192.168.0.79 -U system gistest

# 看最大可用连接数show max_connections;

# 看预留给超级用户的数据库连接数目show superuser_reserved_connections;

或者

#查找超级用户预留的连接数SELECT name,context,unit,setting,boot_val,reset_val FROM sys_settings WHERE name in('superuser_reserved_connections');

准确来说,普通用户可建立的最大并发连接的数是 max_connections - superuser_reserved_connections

# 查看当前已用连接数select count(*) from sys_stat_activity;

2021.08.03

#查看work_mem大小show work_mem;

前面说,人大金仓的内存分为“共享内存”和“本地内存”,我的方案是刨去操作系统4G,剩下的它俩平分。今天又查了下官方文档,似乎是共享内存占1/4就可以了,那么相对地,连接数可以多一些,work_mem再调大一点。

2021.08.04 修改最大连接数,在文件kingbase.conf。但需要重启。这个重启,应当是重启整个数据库,而不是仅仅数据库实例。你看,我们同事改了配置,重启了实例,但查询显示,仍然未生效:

select sourcefile,name,setting,applied from sys_file_settings;

不知道他是怎么重启的。反正我在本机试了下,可以。按道理,一句语句搞定。方式也可以多种:

1、service方式

service

或者是

service kingbase8d stopservice

这种方式好像会报错,还有就是连接已经存在的情况下,失效。

2、sys_ctl方式 1)停止

sys_ctl -D ./apps/kingbase/data/ stop -m fast

2)开启

sys_ctl start#指定路径

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:MapperScan
下一篇:python之简单的get和post请求(python3发送post请求)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~