(本文档仅供参考)
操作入口:
V6\V7版本的入口是在【定制管理】–》【系统运维】–》【调试工具集】–》【连接池信息】
V8版本的入口是在【定制管理】--》【管理员工具集】–》【调试工具集】–》【连接池信息】
V9版本的入口是在:【系统运维】--》【调试工具集】–》【连接池信息】:
功能描述
连接池主要是监控数据库(包括业务库和知识库)的连接数,通常用于数据库连接池满的情况下分析定位原因。
原理说明
可以把连接池想象成一个容器,产品每次查询时,如需要与数据库交互,必须要创建连接,连接池就是存放这些连接的。当连接池从数据库创建了连接,被程序占用后,该连接就变为活跃连接,程序执行完查询后,会将连接返还给连接池,该连接就变为空闲连接。连接池不会将该连接返还给数据库,以供下一次程序需要使用连接时使用,这样可以节省创建连接的时间。
知识库及每一个业务库数据源,都可以对应一个连接池,可以通过设置是否启用连接池,以及设置最大连接数。其中idle为空闲连接,active为活跃连接。若不使用连接池,可在校验语句出设置返还时关闭连接。
应用场景
观察到后台日志一直在输出线程信息,如连接数在查询的时候消耗完,其他用户查询等待其他查询释放连接,这时候后台会输出线程信息,若一直在等待不到的情况下,就很有可能是连接没有成功释放,这样的话,最终就会出现所有用户都无法访问系统。
使用说明
当通过日志分析出是因为数据库连接池满导致的,请执行下面操作:
1、如果当前已经无法访问,就先重启服务器,然后访问smartbi,依据当前部署的smartbi版本分别进入 调试工具集–》连接池信息,启用跟踪:
(注:每次重启服务器后,连接池信息需要重新启用跟踪,因为服务器关闭,会默认关闭跟踪状态)
2、启用跟踪后,可以先监控【定制管理】-》【系统监控】–》【对象池】监控ConnectionPool 中active的数据:
有空就刷新下这个对象池界面,当active达到数据源设置【最大连接数】的一半的时候,尝试直接访问 http://IP:端口号/smartbi/vision/monitor/connectionpoolinfo.jsp connectionpoolinfo.jsp界面,如果可以成功访问,就把这个界面另存下来同系统日志一起发回分析。如果无法访问到这个界面,则直接把系统日志发回分析。