NC常见技术问题诊断及解决方案用友软件股份有限公司NC技术支持部第一部分问题诊断思路第二部分数据库(oracle)部分参数说明内存参数设置公式统计信息第三部分应用服务器(WAS)内存监控端口监控参数设置后台日志生成以及查看主要内容第四部分客户端以及网络问题客户端参数设置Nc网络使用慢分析步骤第五部分操作系统Unix系统监控命令第六部分NC补丁介绍V5系列效率补丁说明主要内容第一部分问题诊断思路我们怎么办?NC应用的拓朴结构•NC的访问路径:客户端->网络->应用服务器->数据库客户端网络应用服务器数据库界面显示远程调用执行远程方法执行SQLSQL调用Was参数Was参数NclogsNclogsjavacorejavacore后台日志后台日志参数参数执行语句执行语句客户端日志客户端日志cpucpu客户端参数客户端参数tracerttracert下载流量下载流量pingping第二部分数据库(oracle)部分参数说明大多数客户下面两个参数没有改:optimizer_index_cost_adj=40含义:索引使用比率增加optimizer_dynamic_sampling=4含义:增加没有统计信息的表的分析.内存参数设置公式SGA计算公式SGA_TARGET=(*80%)*70%PGA计算公式PGA_AGGREGATE_TARGET=(*80%)*30%统计信息执行数据库查询试图user_tables第三部分应用服务器(WAS)was内存监控查看内存使用情况方法:sysMonitor.bat设置端口号,然后进行查看内存使用状态。如何生成javacore和heapdump进入wsadminD:\IBM\WebSphere\AppServer\bin>wsadmin-userwasadmin-passwordpassword生成javacore设置jvm环境变量:wsadmin>setjvm[$AdminControlcompleteObjectNametype=JVM,process=server1,*]生成javacore文件:wsadmin>$AdminControlinvoke$jvmdumpThreads生成heapdump找到JVM对象名字:wsadmin>setobjectName[$AdminControlqueryNamesWebSphere:type=JVM,process=server1,*]生成heapdump文件:wsadmin>$AdminControlinvoke$objectNamegenerateHeapDump第三部分应用服务器(WAS)生成javacore和heapdump例子:D:\IBM\AppServer\profiles\AppSrv01\bin>wsadmin.batWASX7209I:使用SOAP连接器连接到节点javavagNode01上的进程“server1”;进程的类型为:UnManagedProcessWASX7029I:要获取帮助,请输入:“$Helphelp”wsadmin>setjvm[$AdminControlcompleteObjectNametype=JVM,process=server1,*]WebSphere:name=JVM,process=server1,platform=proxy,node=javavagNode01,j2eeType=JVM,J2EEServer=server1,version=6.1.0.11,type=JVM,mbeanIdentifier=JVM,cell=javavagNode01Cell,spec=1.0wsadmin>$AdminControlinvoke$jvmdumpThreads生成的javacore位置为:D:\IBM\AppServer\profiles\AppSrv01\javacore.20090410.153958.3564.txtwsadmin>setobjectName[$AdminControlqueryNamesWebSphere:type=JVM,process=server1,*]WebSphere:name=JVM,process=server1,platform=proxy,node=javavagNode01,j2eeType=JVM,J2EEServer=server1,version=6.1.0.11,type=JVM,mbeanIdentifier=JVM,cell=javavagNode01Cell,spec=1.0wsadmin>$AdminControlinvoke$objectNamegenerateHeapDumpwsadmin>生成的Heapdump文件位置为:D:\IBM\AppServer\profiles\AppSrv01\heapdump.20090410.154059.3564.phd创建javacore和heapdump过程演示第三部分应用服务器(WAS)Was端口查看Was端口查看:http://应用服务器ip:9060/admin或者http://127.0.0.1:9060/ibm/console\IBM\AppServer\profiles\AppSrv01\logs\AboutThisProfile.txtWas参数设置JAVA虚拟机大小32位操作系统512-128064位操作系统1024-2048WAS部署日志:\nchome\bin\was_sysconfig.logWAS日志…\IBM\AppServer\profiles\AppSrv01\logs第四部分客户端客户端参数设置Java参数设置Ie6:-Xmx300mIe7:-Xmx200m客户端防火墙或杀毒软件影响Mcafee包过滤导致客户端查询缓慢,各别时候还出现数据不准确的现象。案例瑞星杀毒软件和NC的冲突:现象:某项目,客户报告说有的客户端不能下载NC系统中附件;问题分析:通过远程,观察可客户端的情况,发现确实不能下载附件,日志中也没有异常信息,后来发现不能下载附件的客户端都安装了瑞星杀毒软件和瑞星防火墙,关闭瑞星、,NC附件下载正常。解决办法:需要下载NC附件是关闭瑞星(估计防火墙阻止)。案例IE自动退出及JRE版本冲突关于NC502不支持jre1.6的问题,因为客户门户系统用jre1.6,客户需要单点登录.1.先安装NC的NC_Client_1.5.0_07.exe在软件在NC安装目录nchome\webapps\nc_web\Client\NC_Client_1.5.0_07.exe该软件会安装在C:\ProgramFiles\jre1.5.0_07目录下.如果以前安装过就不用安装了.2.再安装其它更高的版本(jre-6u10-windows-i586-p.exe或jre-1_5_0_13-windows-i586-p.exe),在网上下载jre1.5.0_13如:jre-1_5_0_13-windows-i586-p.exehttp://javadl.sun.com/webapps/download/AutoDL?BundleId=12839&/jre-1_5_0_13-windows-i586-p.exe,下载后安装.该软件安装在C:\ProgramFiles\Java\jre1.5.0_13然后将C:\ProgramFiles\jre1.5.0_07\lib\security目录下的java.policy文件覆盖到C:\ProgramFiles\Java\jre1.5.0_13\lib\security下或C:\ProgramFiles\Java\jre6\lib\security下第四部分客户端客户端缓存设置客户端数据缓存主要是将相关基础数据缓存到本地,以后本地对基础数据的参照可以先从本地参照而不是每次都从服务器端下载参照;从而达到减少远程调用次数,提高界面操作速度功能。前台日志生成生成路径:C:\DocumentsandSettings\administrator\NCCACHE\192.168.8.155_-was-nc50gold_80\LOG信息查看1.客户端操作提示信息2.客户端操作连接后台服务器的远程方法调用信息(时间)3.客户端基础数据缓存信息4.利用参数m:查看客户端java内存使用情况信息。5.客户端异常错误信息第四部分客户端客户端生成有的时候在用浏览器无法满足应用要求情况下,可以通过启用NC客户端程序来代替浏览器应用。在NCSysConfig.bat(NCSysConfig.sh)选中Deplopment节点界面,点击右边GenClientCode按钮,如图,在弹出界面中设置应用服务器名与端口,以及生产的客户端代码安装路径。什么情况下建议用NC客户端程序代替浏览器访问NC是在有些机器浏览器使用java插件有问题,经常导致退出或无法使用情况下;是有些用户的操作数据量很大,使用浏览器java插件内存无法设置上去,导致相关大数据操作在客户端非常慢,并且导致客户端cpu持续很高情况下。第四部分客户端第四部分客户端以及网络问题Nc网络使用慢分析步骤PingTracert数据下载测试网络要求远程压缩小工具测试Ping命令Ping是个使用频率极高的实用程序,用来验证网络配置并测试网络的连通性。根据返回的信息,你就可以推断TCP/IP参数是否设置得正确以及运行是否正常,还可以了解网络传输的质量。例:C:\>ping192.168.9.172Pinging192.168.9.172with32bytesofdata:Replyfrom192.168.9.172:bytes=32time<10msTTL=128Replyfrom192.168.9.172:bytes=32time<10msTTL=128Replyfrom192.168.9.172:bytes=32time<10msTTL=128Replyfrom192.168.9.172:bytes=32time<10msTTL=128Pingstatisticsfor192.168.9.172:Packets:Sent=4,Received=4,Lost=0(0%loss),Approximateroundtriptimesinmilli-seconds:Minimum=1ms,Maximum=1ms,Average=1ms如果网络不通,则:C:\>ping192.168.9.172Pinging192.168.9.172with32bytesofdata:Requesttimedout.Requesttimedout.Requesttimedout.Requesttimedout.通过Ping检测网络故障的典型次序:ping127.0.0.1ping本机IPping局域网内其他ping网关ping远程IPPing命令的常用参数选项pingIP–t连续对IP地址执行Ping命令,直到被用户以Ctrl+C中断。pingIP-l2000指定Ping命令中的数据长度为2000字节,而不是缺省的32字节。pingIP–n执行特定次数的Ping命令情况:项目是某银行财务系统,NC使用很慢,经常丢包,而其它应用如oa等应用很好。客户网络是城域网(企业局域网)。测试情况:ping32byte的包用时<5ms,丢包率为0;ping1k的包延时=7ms,丢包率8%;ping2k的包延时为9ms,丢包率11%;ping4k的包延时为14ms,丢包率22%。建议:检查路由,是否存在包优先级设置。问题解决:后来科技部的解释是这样的,他们的网络是光纤的城域网,在路由上按包大小设置了优先级,由于生产网上还大量存在着银行生产系统的各种柜台交易数据包,所以优先级低的大数据包可能经常超时,因此出现丢包的问题,后来把路由上的相关设置取消,就可以了。案例:Tracert格式:TracertIP地址Tracert用来跟踪数据包到达目标所经过的路由。例子:C:\>tracert172.16.0.99Tracingrouteto172.16.0.99overamaximumof30hops1<10ms10ms<10ms10.0.0.1275ms83ms88ms192.168.0.1373ms79ms93ms172.16.0.99Tracecomplete.在使用广域网访问NC的客户端上进行以下测试:命令:Tracert220.201.36.22(NC服务器IP)情况:某项目使用联通的专线上网,某分公司通过广域网使用NC时较慢,想了解慢在什么地方得到结果如下:案例Tracingrouteto220.201.36.30overamaximumof30hops1<10ms<10ms<10ms192.168.33.1局域网地址2<10ms<10ms<10ms192.168.101.1局域网地址315ms<10ms<10ms10.14.27.1局域网地址4<10ms<10ms16ms10.1.4.11局域网地址5<10ms<10ms<10ms10.1.10.33局域网地址6<10ms<10ms<10ms10.1.10.81局域网地址7<10ms<10ms15ms218.61.254.173辽宁网通地址8<10ms15ms<10ms218.61.254.141辽宁网通地址916ms<10ms<10ms218.61.255.177辽宁网通地址10<10ms15ms<10ms218.61.255.197辽宁网通地址1116ms31ms31ms219.158.8.241北京网通地址1215ms32ms31ms219.158.11.126北京网通地址13468ms454ms453ms219.158.28.214北京网通地址14453ms453ms453ms211.94.56.50北京联通地址15453ms453ms453ms211.94.54.214北京联通地址16484ms454ms484ms211.93.132.6辽宁联通地址17469ms453ms469ms211.93.132.82辽宁联通地址18469ms453ms453ms10.254.2.1辽宁联通内部地址19220.201.36.30NC应用服务器地址Tracecomplete.从以上数据可以看出,网络速度主要慢在北京网通与北京联通的网络接口219.158.28.214上。NC对广域网的要求•对带宽要求:每个用户>256K•客户端Ping服务器的响应时间与丢包率要求:速度响应时间丢包率效果很快<50ms<1%接近局域网较快<100ms<3%基本满足要求较慢>100ms>3%因数据量而异第四部分网络小工具介绍网络流量监控NetMeter:查看出一个操作到底消耗多少流量,并记录下载流量的速度以此分析网络是否存在瓶颈。网络压缩Nc一个网络流量压缩设置网络下载网络下载地址http://应用服务器IP/Client/NC_Client_1.5.0_07.exe如:http://122.139.61.171/Client/NC_Client_1.5.0_07.exeNC中http下载(NC_Client_1.5.0_07.exe)(客户端>10k)例子客商基本档案查询:有一些大的数据查询操作会需要从服务器端下载大量数据到客户端显示,如果不选择压缩传输的话,可能网络传输量会很大,如果选用压缩传输,对大数据量的传输,其压缩比很多时候能达到1:5甚至1:10,会较大减轻网络传输量及时间。下面我们通过流量工具分析一下启用压缩和不启用压缩进行客商档案查询网络流量的区别第五部分操作系统UNIX操作系统第六部分NC补丁介绍补丁类型版本效率点v5效率问题必打补丁包501/502内存溢出/连接池/部署问题预算汇总补丁501/502内存溢出解决游标不关闭5011游标不关闭取消辅助效验补丁nc30sp2/nc311/v501/v502凭证保存效率凭证打印效率问题nc501凭证打印和输出客户端cpu居高不下问题