1、NC常见技术问题诊断 及解决方案,用友软件股份有限公司 2009年 4 月 2日,第一部分 问题诊断思路第二部分 数据库(oracle) 部分参数说明 内存参数设置公式 统计信息第三部分 应用服务器(WAS) 内存监控 端口监控 参数设置 后台日志生成以及查看,主要内容,第四部分 客户端以及网络问题 客户端参数设置 Nc网络使用慢分析步骤第五部分 操作系统 Unix 系统监控命令第六部分 NC补丁介绍 V5系列效率补丁说明,主要内容,第一部分 问题诊断思路,我们怎么办?,NC应用的拓朴结构,NC的访问路径:客户端-网络-应用服务器-数据库,界面显示,远程调用,执行远程方法,执行SQL,SQL调
2、用,第二部分 数据库(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 设置端口号,然后进行查看内存使
3、用状态。如何生成javacore和heapdump 进入wsadminD:IBMWebSphereAppServerbinwsadmin -user wasadmin -password password 生成javacore 设置jvm环境变量:wsadminset jvm $AdminControl completeObjectName type=JVM,process=server1,* 生成javacore文件:wsadmin$AdminControl invoke $jvm dumpThreads 生成heapdump 找到JVM对象名字:wsadminset objectName
4、$AdminControl queryNames WebSphere:type=JVM,process=server1,* 生成heapdump文件:wsadmin$AdminControl invoke $objectName generateHeapDump,创建javacore和heapdump过程演示,第三部分 应用服务器(WAS),Was端口查看 Was端口查看: http:/应用服务器ip:9060/admin Was参数设置 JAVA虚拟机大小 32位操作系统 512-1280 64位操作系统 1024-2048WebContainer设置: 设置为 50-80 WAS部署日志
5、D:nchomebinwas_sysconfig.log,第四部分 客户端,客户端参数设置 Java参数设置 Ie6: -Xmx300m Ie7: -Xmx200m 客户端防火墙或杀毒软件影响 Mcafee包过滤导致客户端查询缓慢,各别时候还出现数据不准确的现象。,案例,瑞星杀毒软件和NC的冲突:现象:某项目,客户报告说有的客户端不能下载NC系统中附件;问题分析:通过远程,观察可客户端的情况,发现确实不能下载附件,日志中也没有异常信息,后来发现不能下载附件的客户端都安装了瑞星杀毒软件和瑞星防火墙,关闭瑞星、,NC附件下载正常。解决办法:需要下载NC附件是关闭瑞星(估计防火墙阻止)。,第四部分
6、客户端,客户端缓存设置 客户端数据缓存主要是将相关基础数据缓存到本地,以后本地对基础数据的参照可以先从本地参照而不是每次都从服务器端下载参照;从而达到减少远程调用次数,提高界面操作速度功能。,前台日志生成 生成路径: C:Documents and SettingsadministratorNCCACHE192.168.8.155_-was-nc50gold_80LOG信息查看1. 客户端操作提示信息 2. 客户端操作连接后台服务器的远程方法调用信息(时间) 3. 客户端基础数据缓存信息 4. 利用参数m:查看客户端java内存使用情况信息。 5. 客户端异常错误信息,第四部分 客户端,客户端
7、生成 有的时候在用浏览器无法满足应用要求情况下,可以通过启用NC客户端程序来代替浏览器应用。在NCSysConfig.bat(NCSysConfig.sh)选中Deplopment节点界面,点击右边Gen ClientCode按钮,如图,在弹出界面中设置应用服务器名与端口,以及生产的客户端代码安装路径。 什么情况下建议用NC客户端程序代替浏览器访问NC 是在有些机器浏览器使用java插件有问题,经常导致退出或无法使用情况下; 是有些用户的操作数据量很大,使用浏览器java插件内存无法设置上去,导致相关大数据操作在客户端非常慢,并且导致客户端cpu持续很高情况下。,第四部分 客户端,第四部分 客
8、户端以及网络问题,Nc网络使用慢分析步骤 Ping Tracert 数据下载测试 网络要求 远程压缩 小工具测试,Ping 命令Ping是个使用频率极高的实用程序,用来验证网络配置并测试网络的连通性。根据返回的信息,你就可以推断TCP/IP参数是否设置得正确以及运行是否正常,还可以了解网络传输的质量。,例: C:ping 192.168.9.172Pinging 192.168.9.172 with 32 bytes of data:Reply from 192.168.9.172: bytes=32 time10ms TTL=128 Reply from 192.168.9.172: byt
9、es=32 time10ms TTL=128 Reply from 192.168.9.172: bytes=32 time10ms TTL=128 Reply from 192.168.9.172: bytes=32 time10ms TTL=128 Ping statistics for 192.168.9.172 :Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds:Minimum = 1ms, Maximum = 1ms, Average =
10、 1ms,如果网络不通, 则: C:ping 192.168.9.172Pinging 192.168.9.172 with 32 bytes of data:Request timed out. Request timed out. Request timed out. Request timed out.,通过Ping检测网络故障的典型次序 :,ping 127.0.0.1ping 本机IPping 局域网内其他 ping 网关ping 远程IP,Ping命令的常用参数选项 ping IP t连续对IP地址执行Ping命令,直到被用户以Ctrl+C中断。 ping IP -l 2000指定
11、Ping命令中的数据长度为2000字节,而不是缺省的32字节。 ping IP n执行特定次数的Ping命令,情况:项目是某银行财务系统,NC使用很慢,经常丢包,而其它应用如oa等应用很好。客户网络是城域网(企业局域网)。 测试情况:ping 32byte的包用时5ms,丢包率为0;ping 1k的包延时7ms,丢包率8;ping 2k的包延时为9ms,丢包率11;ping 4k的包延时为14ms,丢包率22。 建议:检查路由,是否存在包优先级设置。 问题解决:后来科技部的解释是这样的,他们的网络是光纤的城域网,在路由上按包大小设置了优先级,由于生产网上还大量存在着银行生产系统的各种柜台交易数
12、据包,所以优先级低的大数据包可能经常超时,因此出现丢包的问题,后来把路由上的相关设置取消,就可以了。,案例:,Tracert,格式:Tracert IP地址,Tracert用来跟踪数据包到达目标所经过的路由。,例子: C:tracert 172.16.0.99 Tracing route to 172.16.0.99 over a maximum of 30 hops 1 10ms 10ms 10 ms 10.0.0.1 2 75 ms 83 ms 88 ms 192.168.0.1 3 73 ms 79 ms 93 ms 172.16.0.99 Trace complete.,在使用广域网访
13、问NC的客户端上进行以下测试:命令:Tracert 220.201.36.22 (NC服务器IP),情况:某项目使用联通的专线上网,某分公司通过广 域网使用NC时较慢,想了解慢在什么地方,得到结果如下:,案例,Tracing route to 220.201.36.30 over a maximum of 30 hops 1 10 ms 10 ms 10 ms 192.168.33.1 局域网地址 2 10 ms 10 ms 10 ms 192.168.101.1 局域网地址 3 15 ms 10 ms 10 ms 10.14.27.1 局域网地址 4 10 ms 10 ms 16 ms 10
14、.1.4.11 局域网地址 5 10 ms 10 ms 10 ms 10.1.10.33 局域网地址 6 10 ms 10 ms 10 ms 10.1.10.81 局域网地址 7 10 ms 10 ms 15 ms 218.61.254.173 辽宁网通地址 8 10 ms 15 ms 10 ms 218.61.254.141 辽宁网通地址 9 16 ms 10 ms 10 ms 218.61.255.177 辽宁网通地址 10 10 ms 15 ms 10 ms 218.61.255.197 辽宁网通地址 11 16 ms 31 ms 31 ms 219.158.8.241 北京网通地址 1
15、2 15 ms 32 ms 31 ms 219.158.11.126 北京网通地址 13 468 ms 454 ms 453 ms 219.158.28.214 北京网通地址 14 453 ms 453 ms 453 ms 211.94.56.50 北京联通地址,15 453 ms 453 ms 453 ms 211.94.54.214 北京联通地址16 484 ms 454 ms 484 ms 211.93.132.6 辽宁联通地址17 469 ms 453 ms 469 ms 211.93.132.82 辽宁联通地址18 469 ms 453 ms 453 ms 10.254.2.1 辽宁
16、联通内部地址19 220.201.36.30 NC应用服务器地址Trace complete.从以上数据可以看出,网络速度主要慢在北京网通与北京联通的网络接口219.158.28.214上。,NC对广域网的要求,对带宽要求:每个用户 256K客户端Ping服务器的响应时间与丢包率要求:,第四部分 网络,小工具介绍 网络流量监控 NetMeter: 查看出一个操作到底消耗多少流量,并记录下载流量的速度以此分析网络是否存在瓶颈。网络压缩 Nc一个网络流量压缩设置网络下载 网络下载地址 http:/应用服务器IP/Client/NC_Client_1.5.0_07.exe,例子,客商基本档案查询:
17、有一些大的数据查询操作会需要从服务器端下载大量数据到客户端显示,如果不选择压缩传输的话,可能网络传输量会很大,如果选用压缩传输,对大数据量的传输,其压缩比很多时候能达到1:5甚至1:10,会较大减轻网络传输量及时间。 下面我们通过流量工具分析一下启用压缩和不启用压缩进行客商档案查询网络流量的区别,第五部分 操作系统-性能监控(一),监视cpu使用情况 iostat iostat -t 2 6系统配置:lcpu=4tty: tin tout avg-cpu: % user % sys % idle % iowait0.0 9.5 24.8 2.7 72.4 0.00.0 70.0 23.2 2.
18、6 73.0 1.30.0 34.2 33.1 2.5 64.4 0.00.0 34.5 23.1 2.7 73.4 0.9,第五部分 操作系统-性能监控(二),监视内存使用情况 vmstat # vmstat 2 系统配置:lcpu=4 mem=1872MB kthr memory page faults cpu - - - - -r b avm fre re pi po fr sr cy in sy cs us sy id wa0 0 422920 49921 0 0 0 0 0 0 267 4145 856 23 3 74 11 0 422921 50091 0 0 0 0 0 0 24
19、1 4534 890 33 3 64 00 0 422921 50001 0 0 0 0 0 0 277 4233 860 23 3 73 11 0 422921 49905 0 0 0 0 0 0 276 4495 866 25 3 72 02 0 422921 50070 0 0 0 0 0 0 275 4396 869 24 3 73 1 avm:使用的内存页数 fre:空闲队列中的内存页数。 re:在指定时间间隔内每秒要求收回的页面数。 po:在指定时间间隔内换入到页面交换空间的页面数。 pi :由页面交换空间换出的页面数。 fr :在指定时间间隔内释放的页面数。 sr :在指定时间间
20、隔内检查的页面数(以确定该页面是否可以释放)。 cy :按时钟算法每秒扫描的页面数。,第五部分 操作系统-性能监控(三),监视内存使用情况 ps # ps aux USER PID %CPU %MEM SZ RSS TTY STAT STIME TIME COMMAND root 401654 4.6 11.0 242064 182708 - A 1月25 8765:12 /home/WebSph root 389150 0.1 0.0 3400 3420 - A 14时06分17秒 2:50 filemon root 53274 0.0 0.0 40 36 - A 2月06 23267:11
21、 wait root 8196 0.0 0.0 40 36 - A 2月06 22531:01 wait root 57372 0.0 0.0 40 36 - A 2月06 21432:26 wait root 49176 0.0 0.0 40 36 - A 2月06 20835:45 wait root 348168 0.0 0.0 64 64 - A 14时06分17秒 0:11 trclogio %cpu: 可以查看某个进程占用了多少CPU %MEM: 可以查看某个进程占用了多少内存 SZ : 表示如果一个程序完全驻留在内存的话需要占用多少内存空间 RSS : 指明了当前实际占用了多少内
22、存,第五部分 操作系统-性能监控(四),监视内存使用情况 svmon # svmon -Gsize inuse free pin virtual memory 479232 427317 51915 132643 420893 pg space 1179648 110579work pers clnt pin 132643 0 0 in use 364999 0 62318 -G:显示整个系统中实际内存和分页空间的使用的统计信息 -U 可以查看用户的用量 -P 可以统计进程使用的内存情况 #svmon -P -t 10 -i 5 该命令每5秒种输出一次最耗内存的前10个进程,第五部分 操作系统
23、-性能监控(五),监视io使用情况 iostat iostat 5 System configuration: lcpu=4 drives=3 paths=2 vdisks=0 tty: tin tout avg-cpu: % user % sys % idle % iowait0.0 11.6 25.8 2.7 70.9 0.5 磁盘:% tm_act Kbps tps Kb_read Kb_wrtn hdisk1 0.0 0.0 0.0 0 0 hdisk0 44.0 555.2 89.8 0 2776 cd0 0.0 0.0 0.0 0 0 查看io百分比,如果超过70%那么就有可能存在效率瓶颈了。,第五部分 操作系统-性能监控(六),Topas基于文本的监控工具,第五部分 NC补丁介绍,