postgresql修改连接数,可以在postgres.conf里面进行修改max_conection,但是当max_conection过大时,就会报错。此时我把数据库连接数设置到2000,重启后错误信息可以在server.log里看到。这时需要修改系统内核配置。查看/etc/sysctl.conf,修改kernel.sem。
kernel.sem = 250 32000 100 128 这四个值分从左至右别表示
semmsl:每个信号灯集合中最多的信号灯数目。最小250;对于processes参数设置较大的系统建议设置为processes+10。
semmns:信号灯的最大数量,跟ORACLE的PROCESS数有关。SEMMSL * SEMMNI
semopm:系统调用允许的信号量最大个数。至少100;或者等于SEMMSL
semmni:系统信号量set最大个数。最少128
ulimit -a 查看max user processes 最大线程数值。
查看processes数量为15000,因此修改为15010 19212800 15010 1280,执行sysctl -p,此时再修改数据库连接数10000,再重启,发现没有报错了。如果还需要更大的连接数,就继续增大semmni。
测试测试测试测试测试测试测试测试测试测试测试测试测试测试
48448
测试