页面树结构
转至元数据结尾
转至元数据起始

正在查看旧版本。 查看 当前版本.

与当前比较 查看页面历史

版本 1 下一个 »

问题现象

      smartbi环境经常出现Tomcat无法访问的问题,必须重启Tomcat才能恢复。


排查方式

      首先确认CPU和内存资源使用是否正常的,即可以通过jstack、jmap、jstat 命令分别查看tomcat的线程、堆栈和gc分析,并且Tomcat进程也存在,如果确认都是正常的,就是无法访问。

      接下来可以通过netstat -an|grep 端口号 进行分析,如smartbi的访问端口号是433,则 netstat -an|grep 443

      对于 netstat -an|grep 443返回的结果进行分析,如果发现有大量的网络连接且处于CLOSE_WAIT 状态,很大可能是因为tomcat默认使用的是长连接的原因。

      即tomcat的https中默认使用的是长连接,每一个连接的生命周期是2小时,由于某种场景下Smartbi在获取数据时出现异常,导致socket没有主动关闭。


解决方案

      1)修改tomcat中server.xml中socket连接超时的设置(无论是http协议还是https协议都需要添加socket超时设置) connectionTimeout="30000"

      2)修改文件句柄数:https://history.wiki.smartbi.com.cn/pages/viewpage.action?pageId=35750019 

           验证网络连接情况命令: netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'    


下图是连接状态描述供参考:

  • 无标签