1. 现象:

  1. 客户端切换页面/登录/刷新时报错,无法打开页面,一直在转,可能报404。
  2. 此时服务端程序从管理器看起来运行正常
  3. 重启整个服务后解决

2. 分析

  1. 查看tomcat日志,显示:尝试连线已失败,连接数超限
  2. 通过navicat查询postgres连接数最大值(show max_connections)注意max_connections之间是下划线不是空格,是100。
  3. 没有问题的时候,当前连接数(select count(*)from pg_stat_activity;)可能个位数到几十之间。
  4. 判断是连接池分配太小了

3. 解决

  1. 将最大值改为5000,通过alter system set max_connections=5000。然后必须重启postgres数据库。
  2. 然后重启数据库和eview,再查询发现是5000。此时看到服务管理器的postgres.exe有很多个,且句柄数有10000个左右。之前100个的时候,刚启动句柄数是300多个
  3. 过了2个小时,又出现连不上的情况,且此时看到数据库连接数几十个,并未超限
  4. 是socket连接不上吗?time_wait


  • 无标签