1、 收集服务器线程堆栈
概述:收集服务器线程堆栈信息主要是为了解决某个操作长时间无反应“卡”住、系统整体运行缓慢等性能问题而需要收集的信息。
在集群环境下,因为存在多个实例,所以需要客户端连接某一指定的实例(server)进行相关操作后,然后收集这一指定的实例(server)上的线程堆栈。建议指定为在server1上进行的线程堆栈的收集,因为集群环境下server1无其他客户端连接,堆栈信息不会杂乱,但如果是大数据量的操作,会引起服务器宕机的则不要到server1上去收集。
步骤1:收集准备
• 收集线程堆栈信息是通过在客户端的IE窗口输入如下URL获取的:
http://serverIP:http端口号/easportal/tools/threaddump.jsp
公有云直接根据你的 域名和443端口即可打开网页收集,记得填写管理员密码即可
如:https://byhrsc.test.kdeascloud.com:443/easportal/tools/threaddump.jsp--这个地址 打开;输入管理员用户及密码
步骤2:收集方法
1、登陆eas的客户端,重现有问题的功能点---点击功能点开始
2、在客户端IE窗口输入:
https://byhrsc.test.kdeascloud.com:443/easportal/tools/threaddump.jsp会出现如下网页内容(进入网页后点击红色框中“living RPC threads”)
![](/download/0100131fb36f12df4c4bb14778e2809a9282.png)
3、另存该网页(在IE菜单中选择【文件】—>【另存】)
4、为了比较哪些堆栈一直在运行,需收集多个这样的网页文件做比较。可以间隔一段时间后再次点击红色框中“living RPC threads”,另存网页。一般收集3个即可,间隔时间根据具体问题来定:长时间“卡”住的操作隔4,5分钟收集一次,若是收集慢的操作,根据执行时间长短,在执行完成前收集3次即可,间隔自己把握。
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
2、 收集客户端线程堆栈
概述:收集客户端线程堆栈信息主要是为了解决某个操作长时间无反应“卡”住的问题而需要收集的信息。是利用jdk自带的工具jconsole进行收集
一般情况下,需结合上述“收集服务端线程堆栈”的方法,服务端的调用(rpc调用)已经结束的情况下,再收集“客户端”线程堆栈。
收集方法:
如何判断服务端调用结束:1、不断点击Living RPC threads,如出现图中所示“Thread name like “RPC” not found”的信息,则表明服务端调用结束
![](/download/0100a7acac99dda44f01b1c6cb721549b1bf.png)
2、因为服务端还存在其他客户端的调用,有可能是别的操作,需多次刷新看是否没有了,或者堆栈信息有变化,或者通过堆栈信息看是否为客户端所操作的方法等
收集方法
1、 登陆eas
2、 打开jconsole,运行客户端eas所安装的jdk目录下eas\clientjdk\bin\jconsole.exe
3、 选中名称类似com.kingdee.eas.exetools.LaunchClient…的行后按“连接”按钮,或者根据eas客户端的PID来选择(方法见附录)
![](/download/0100a250a94ea0594b40af0a5dbdfc3483ff.png)
进入后点“线程”页签,然后点“AWT-EventQueue-1”,将下图红方框中的堆栈信息拷贝出来,贴到记事本中即可(可通过点击别处再点击“AWT-EventQueue-1”的方式反复刷新,多收集几次,都贴到记事本中)
![](/download/0100035820ebf2dc4629a39bc0c4fd37e157.png)
3、 上传日志
将收集的服务器网页文件和客户端文本文件(记事本)打包,附在提单中或发送邮件到支持人员kingdee邮箱
4、 附录:
如何查看客户端eas的PID
打开任务管理器,在应用程序页签中选择正在运行的eas 点右键 选转到进程
![](/download/0100269f579d03ca4cd3a0bf828176719563.png)
在进程页签点餐单的查看 选择列
![](/download/01001ac5115d9d7442f8bc091967c52aec9a.png)
将PID打勾
![](/download/0100519b69cccf004cb4b667aa9365fd274a.png)
![](/download/010003012ff2a98c418bb5404da3486e28c9.png)