用友软件股份有限公司HBU事业部技术顾问王辉HBU事业部服务器环境检查手册(适用于实施顾问)HBU技术顾问王辉wanghui001@ufida.com.cn2009-3-121/30用友软件股份有限公司HBU事业部技术顾问王辉目录第一部分应用服务器篇.............................................4一.Java虚拟机参数检查...................................................................................................41.NC环境:......................................................................................................................42.BEA环境:....................................................................................................................43.WAS环境:...................................................................................................................5二.日志输出级别设置......................................................................................................7三.监控JAVA进程...........................................................................................................111.Windows平台.............................................................................................................112.Linux,Unix平台............................................................................................................11四.监控server状态.........................................................................................................121.NC环境:....................................................................................................................122.BEA环境:..................................................................................................................123.WAS环境:.................................................................................................................12五.sysMonitor监控工具.................................................................................................13第二部分数据库服务器篇.......................................14一.服务器资源检查........................................................................................................141.查看系统版本.............................................................................................................142.查看CPU......................................................................................................................143.查看内存.....................................................................................................................164.查看IO.........................................................................................................................165.查看磁盘空间.............................................................................................................176.TOP命令......................................................................................................................18二.数据库检查(OracleTool监控工具).......................................................................191.数据库基本信息查看.................................................................................................192.数据库效率检查.........................................................................................................203.数据库优化.................................................................................................................222/30用友软件股份有限公司HBU事业部技术顾问王辉第三部分网络篇.......................................................25一.NC对网络的要求.......................................................................................................25二.客户端的缓存管理....................................................................................................25三.客户端到应用服务器的网络链接.............................................................................26四.应用服务器到数据库服务器的链接.........................................................................283/30用友软件股份有限公司HBU事业部技术顾问王辉第一部分应用服务器篇无论是NC代码还是BEA,WAS安装文件大小都是固定不变的,除非非正常的设置了日志的输出级别,否则不会引起磁盘空间暴增,而且服务器端的代码大部分是一次性读取并加载进内存的,释放时也只是释放内存空间,不会对磁盘频繁的读写,也就是说应用服务器不存在磁盘IO的性能瓶颈,它的检查重点是虚拟机参数设置及其实际占用的内存大小。一.Java虚拟机参数检查1.NC环境:Windows平台:%NC_HOME%/bin下双击ncSysConfig.bat文件,打开配置界面选择右侧第二项server读取。Linux,Unix平台:命令行${NC_HOME}/bin目录下执行shncSysConfig.sh或者./ncSysConfig.sh,打开界面。图1.1.12.BEA环境:Windows平台:%NC_HOME%/bin下双击wlsSysConfig.bat文件,打开配置界面选择右侧第二项server。Linux,Unix平台:命令行${NC_HOME}/bin目录下执行shwlsSysConfig.sh或者./wlsSysConfig.sh,打开界面。5/30用友软件股份有限公司HBU事业部技术顾问王辉Bea环境有些特殊,它的虚拟机参数是定义到${nc5xdomain_home}\bin\setDomainEnv.cmd文件中(非windows平台为setDomainEnv.sh),见图1.2。而且该文件对集群中的所有server起作用,第一初始化域的时候,该虚拟机参数取决于prop.xml文件中主server的虚拟机设置值,见图1.3。部署成功以后,系统读取setDomainEnv文件中的参数创建虚拟机,prop.xml文件中的定义不再有效。图1.1.2图1.1.33.WAS环境:Windows平台:%NC_HOME%/bin下双击wasSysConfig.bat文件,打开配置界面选择右侧第二项server。Linux,Unix平台:命令行${NC_HOME}/bin目录下执行shwasSysConfig.sh或者./wasSysConfig.sh,打开界面。与NC和BEA环境相反,WAS环境中的虚拟机参数是在WAS配置文件中读取出来的,而不是预先在配置界面配置的,见图1.4。6/30用友软件股份有限公司HBU事业部技术顾问王辉图1.1.4和BEA环境一样,prop.xml文件中的虚拟机参数也是不起作用的,WAS控制台中的定义的参数才是有效的,修改见下图1.5-1.8。图1.1.5图1.1.67/30用友软件股份有限公司HBU事业部技术顾问王辉图1.1.7图1.1.8因为WAS集群中对每一个server都有单独的文件定义,所以可以更改任何一个server的虚拟机值大小。关注指标:对于32位的操作系统,虚拟机的最大值可以设置到1200m,建议值768-1024。对于64位的操作系统虚拟机的最大值可以设置到3000m。建议值1024-2048。二.日志输出级别设置无论是NC还是BEA,WAS中间件环境,NC的日志都是输出到NC_HOME\nclogs目录下的,有时为了定位问题,需要将nclog和anonymous的输出级别设置为Debug或者All。设置方法有两种:1.根据不同的中间件环境,执行ncSysConfig或者wlsSysConfig,wasSysConfig文件,打开配置界面,选中左侧log,点击右侧按钮选择logger-config.propties文件,见图1.2.1,然后点击读取,见图1.2.2。然后选择nclog和anonymous的输出级别,保存以后,重新启动中间件,即可。8/30用友软件股份有限公司HBU事业部技术顾问王辉图1.2.1图1.2.22.打开配置界面,选中log,直接在地址栏里填写具体的需要进行监控的server的地址和端口号,点击读取,更改完日志输出级别以后保存即可,不用重新启动中间件,见图1.2.3。9/30用友软件股份有限公司HBU事业部技术顾问王辉图1.2.3注释:问题定位完毕以后,一定要将输出级别设置为ERROR,否则严重影响系统效率。BEA环境有些特殊,它自身有一些关于HTTP请求的日志,如果系统访问量达,那么可能在某一路径下,通常都是跟目录,产生一个巨大的文件,而且增长速度很快。登录控制台,点击Environment下面的Servers图1.2.4去掉Rotatelogfileonstartup勾选项。10/30用友软件股份有限公司HBU事业部技术顾问王辉图1.2.5然后选中HTTP项目,去掉HTTPaccesslogfileenabled和Romatelogfileonstartup勾选项。每一个server都要相同处理。图1.2.611/30用友软件股份有限公司HBU事业部技术顾问王辉图1.2.7关注指标:正常使用时NC所有模块日志的输出级别都设置为ERROR,如果是BEA环境则取消所有日志。三.监控JAVA进程1.Windows平台通过任务管理器直接查看java进程所占内存大小,见图1.3.1。图1.3.12.Linux,Unix平台可以通过top命令来查看Java进程占用的内存大小,见图1.3.2。12/30用友软件股份有限公司HBU事业部技术顾问王辉图1.3.2关注指标:Java进程实际占用的内存大小可能要比我们设置的值大一些。例如:设置最大值为1024m,系统繁忙情况下,可能最大占用到2000m左右。设置2048m,最大可能占用到3000m左右。比设置值多出1000m是因为非堆内存占用了空间,只要内存占用空间没有无限制增长就可以。四.监控server状态1.NC环境:只能通过访问系统来验证系统是否可用2.BEA环境:可以登录控制台查看server状态,点击Environment下Servers,右侧显示出所有的server及当前状态,如果State显示的是RUNNING,说明该server正常。见图1.4.1。图1.4.13.WAS环境:可以登录控制台查看server状态,点击应用程序服务器,右侧显示出所有server的信息,在状态一栏中如果是向右的实心绿色箭头,说明server正常,红叉表示server未启动,或者不能获取该server的状态。见图1.4.2。13/30用友软件股份有限公司HBU事业部技术顾问王辉图1.4.2如果集群中的server没有全部启动,那么企业应用程序状态就显示为向右的虚心的绿色箭头。见图1.4.3。图1.4.3Web服务器状态,向右的实心箭头表示web服务器正常。见图1.4.4。检查节点的状态,如果节点的NodeAgent没有启动,那么控制台无法获取该节点的运行状态,该节点上的server信息就可以被标识为不清楚,不可用。图1.4.4关注指标:BEA环境server状态为running表示状态正常,WAS环境server状态显示为向右的绿色箭头表示状态正常。14/30用友软件股份有限公司HBU事业部技术顾问王辉五.sysMonitor监控工具执行NC_HOME/bin/sysMonitor文件,打开性能监控工具。输入需要监控的server的IP地址和端口,左侧选中SQL日志,然后刷新。见图1.5.1。可以发现执行时间长的SQL语句以及该语句相关的堆栈信息。以便定位问题。图1.5.1第二部分数据库服务器篇因为数据库服务器存在着大量的计算,读写操作。所以CPU利用率,内存使用和磁盘IO都是我们监控的重点。还有数据文件所在文件系统的磁盘空间大小。一.服务器资源检查由于Windows平台的易用性和大家对它的熟悉程度,上述指标很容易查看,此处不再赘述。下面以Linux为例,介绍查看系统性能的命令。15/30用友软件股份有限公司HBU事业部技术顾问王辉1.查看系统版本图2.1.12.查看CPUvmstat-t-c(t表示采样时间间隔,c表示采样次数)图2.1.2r表示运行队列中等待的进程数b表示由于IO等待而block的线程数量cs表示上下文切换的数量us表示用户的CPU时间sy表示系统CPU时间id表示CPU处于IDLE状态的总时间wa表示由于IO等待而使CPU处于IDLE状态的时间mpstat–PALL1(查看每一个CPU的使用状态)16/30用友软件股份有限公司HBU事业部技术顾问王辉图2.1.3关注指标:检查系统的运行队列,确保每一个CPU的运行队列不大于3.确保CPU使用分布满足70/30原则(用户70%,系统30%)。如果系统时间过长,可能是因为频繁的调度和改变优先级。CPUBound进程总是会被惩罚(降低优先级)而IOBound进程总会被奖励(提高优先级)。3.查看内存vmstat-t-c(t表示采样时间间隔,c表示采样次数)图2.1.4swpd:现时可用的交换内存(单位KB)free:空闲的内存(单位KB)buff:缓冲去中的内存数(单位:KB)cache:被用来做为高速缓存的内存数(单位:KB)si:从磁盘交换到内存的交换页数量,单位:KB/秒so:从内存交换到磁盘的交换页数量,单位:KB/秒关注指标:free,空闲内存剩余多少。17/30用友软件股份有限公司HBU事业部技术顾问王辉4.查看IO图2.1.5bi:发送到块设备的块数,单位:块/秒bo:从块设备接收到的块数,单位:块/秒in:每秒的中断数,包括时钟中断cs:每秒的环境(上下文)切换次数iostat-d-k-t24Device:显示磁盘名称tps:表示每秒钟输出到物理磁盘的传输次数。一次传输就是一个对物理磁盘的I/O请求。多个逻辑请求可被并为对磁盘的一个单一I/O请求。传输具有中等的大小。kB_read/s:每秒从磁盘读取的数据量,单位为KB。18/30用友软件股份有限公司HBU事业部技术顾问王辉kB_wrtn/s:每秒从写入磁盘的数据量,单位为KB。Kb_read:读取的KB总数。Kb_wrtn:写入的KB总数关注指标:kB_read/s、kB_read/s的值,如果有多块磁盘,看是否存在IO不均衡的现象,比如说个别磁盘IO一直很高,其他磁盘则很清闲。5.查看磁盘空间查看磁盘个数:fdisk-l图2.1.6查看文件系统挂载情况df-h图2.1.7关注指标:Use%,如果该值已经达到90%以上,说明需要扩展空间6.TOP命令Top命令集合和了多项性能指标监控的命令,可以看到CPU,MEN,SWQP,PROCESS信息19/30用友软件股份有限公司HBU事业部技术顾问王辉图2.1.8前七行是系统整体的统计信息。第一行是任务队列信息,同uptime命令的执行结果。其内容如下13:43:29当前时间Up41min系统运行时间,格式为:分3usres当前登录的用户数Loadaverage:0.00,0.00,0.00系统负载,及任务队列的平均长度,三个数值非别为1分钟,5分钟,15分钟前到现在的平均值图2.1.9第二、三、四行为进程和CPU的信息。当有多个CPU时,这些内容可能会超过两行图2.1.10第五、六、七行为内存信息图2.1.11最下面部门为系统当前的进程信息。20/30用友软件股份有限公司HBU事业部技术顾问王辉图2.1.12二.数据库检查(OracleTool监控工具)OracleTool是一款适用于实施顾问的数据库工具软件。可以满足正常的数据库检查和优化需要。图3.1.11.数据库基本信息查看该工具包括如下的基本信息查看功能:数据库及实例信息、表空间信息、数据文件信息、日志组、日志文件信息。下面截图为表空间信息界面,见图3.1.2。通过该界面可以看见表空间名称,类型,区管理类型,表空间大小,已经使用大小等信息。最关键指标是表空间当前的利用率为多大。结合图3.1.3可以判断出是否需要给该表空间扩充容量,此点非常重要。21/30用友软件股份有限公司HBU事业部技术顾问王辉图3.1.2关注指标:利用率达到90%以上,且表空间没有设置成自动扩展,则需要手动增加数据文件。图3.1.3其他的几个功能节点不在赘述,请大家自己体验。22/30用友软件股份有限公司HBU事业部技术顾问王辉2.数据库效率检查如果发现系统出现效率低下的情况,可以使用该工具的‘效率差的语句’和‘阻塞等待情况’两个功能节点,抓出影响系统效率的进程(图3.2.1)和SQL语句(图3.2.2)及其执行计划(图3.2.3)。图3.2.1图3.2.223/30用友软件股份有限公司HBU事业部技术顾问王辉图3.2.3关注指标:效率差语句和阻塞等待情况标签下的信息都是需要关注的。3.数据库优化通过该工具可以轻松的创建和性质存储过程,初次搭建系统的时候有一个非常重要的用来分析统计信息的存储过程必须创建,ANALYZE_TB。定期执行该存储过程可以一定程度上提高系统效率。图3.3.124/30用友软件股份有限公司HBU事业部技术顾问王辉图3.3.1表格的碎片分析。大量的插入,删除和更新会使表格会产生碎片和行链接、行迁移等现象,这样不但会浪费空间也会影响效率。如果是频繁使用的大数据量表格,会严重影响效率,通过下面分析可以直观的看到行链接率和空间浪费比率。见图3.3.2。可以使用下面两种方法来消除这种影响:1.移动表到其他表空间Altertabletable_namemovetablespacetablespace_name;移动表格以后,建立在该表格上的所有索引都会失效,使用下面语句重新创建索引先查出该表的所有索引selectindex_name,table_namefromuser_indexeswheretable_namelike'TABLE_NAME%'重建索引Alterindexindex_namerebuild;2.导出该表Expname/passwd@ORACLE_SIDowner=user_nametables=table1,table2…file=table.dmplog=exp.log删除该表Droptabletable_name导入该表Impname/passwd@ORACLE_SIDfromuser=fromusertouser=touserfile=table.dmplog=imp.logIgnore=y25/30用友软件股份有限公司HBU事业部技术顾问王辉重建索引,如果当前存在失效的索引,可以选中表格以后,重建索引。26/30用友软件股份有限公司HBU事业部技术顾问王辉第三部分网络篇大部分NC用户都属于集团性企业,分子公司较多,普遍存在跨城域网访问的现象,相当一部分还跨越南北电信和网通,客户不可控制的因素较多。不像应用服务器和数据库服务器可以随时监控和调整,主动防御。网络一般都是出现问题时被动解决,而且用友不是网络产品公司,只能在出现问题协助客户解决。所以这部分不是重点。一.NC对网络的要求在实际应用中,用户的网络环境中可能安装有防火墙,用户又通过防火墙访问NC服务器时,需要注意。在防火墙上开放相应端口。在NC应用中,端口的使用也是灵活的。用户以单例应用或集群模式灵活配置环境,并保证相关端口不被其他应用占用。在设置防火墙端口策略时需要注意开放上述端口。NC广域网应用对网络的要求:1.在任意时间与应用服务器ping包响应时间在50ms(最低100ms)以内。2.在正常使用时间ping应用服务器丢包率<1%(最低3%).3.每客户端的带宽>256KBits。用户在广域网上应用NC时,一般来说带宽要求可以通过增加带宽来达到,较容易实现,但响应时间与丢包率在广域网上属于不可控的指标,与当时的广域网情况,所走的路由、南北电信网等都有关系,往往有部分分公司达不到要求.。二.客户端的缓存管理UFIDA用友软件NC管理软件5.02系统运用异步缓存技术缓存部分代码和数据,这些缓存信息以密文形式保存客户端,减少网络流量,提高运行效率。缓存代码和数据需要的空间因用户使用模块、节点和用户数据量定。在系统默认设置情况下,要保证"C:"有300M的可用空间。在系统登陆或操作过程中会缓存到特定位置。系统默认缓存路径是"%USERPROFILE%"。例如Windows2000的Administrator用户系统默认是"USERPROFILE=C:\DocumentsandSettings\Administrator"。具体察看当前用户的缓存位置。运行如下:在"开始"--->"运行(R)--->输入"CMD"在DOS窗口中输入"set",可以看到有关"%USERPROFILE%"27/30用友软件股份有限公司HBU事业部技术顾问王辉NC缓存目录是"NCCACHE"。IUFO的代码和数据缓存是"NCCACHE"。还有一部是保存在"ApplicationData\Sun\Java"下。一般情况下不需要清除缓存。如果需要用户请手动清除。下面提供的脚本保存到批处理文件中。实现清除功能。清除缓存时要保证浏览器不在运行。cd%USERPROFILE%rd/q/sNCCACHErd/q/s"ApplicationData\Sun\Java"关于JRE的缓存部分,通常保存在"%USERPROFILE%\ApplicationData\Sun"下。手动清除缓存时,最好将这一部分也清除掉。具体打开"Java控制面板"--->"常规"页签--->"设置"按钮--->"查看小应用程序"按钮,可以看到有关缓存文件,同时也可以使用删除功能。三.客户端到应用服务器的网络链接环境检测和问题定位方法测试下载速度测试常用的工具有ftp下载工具,如ftp命令或cuteftp等工具等,它们在测应用服务器与数据库服务器之间的网络连接效率时比较常用ping命令测试响应延时、丢包率、最大传输单元有时下载速度很快,而NC网络效率还是很慢,这就需要我们采用别的手段和方法来进一步分析;而ping命令,就能给我们带来更多的信息路由检查网络慢,但是不知道是慢在哪一段,慢在哪个路由,这个时候,我们可以通过用tracert以及pathping等命令来获取这些信息包分析这属于比较专业的网络工程师工作范围,这里不做详细叙述例:问题:一家客户在使用NC的过程中,NC时好时坏,外网速度慢.分析:Tracert应用服务器Tracert221.6.151.112Tracingrouteto221.6.151.112overamaximumof30hops1<1ms<1ms<1ms192.168.85.254本地局域网28ms11ms17ms202.106.58.197北京市网通32ms3ms4msbt-228-133.bta.net.cn[202.106.228.133]北京市网通47ms6ms5msbt-229-017.bta.net.cn[202.106.229.17]北京市网通56ms3ms6ms219.158.4.41中国网通骨干网642ms37ms40ms219.158.4.42中国网通骨干网774ms76ms75ms219.158.10.62中国网通骨干网北京市网通865ms66ms63ms221.3.129.250云南省昆明市网通965ms63ms64ms221.3.139.254云南省昆明市网通28/30用友软件股份有限公司HBU事业部技术顾问王辉1080ms75ms79ms221.6.151.112云南省昆明市网通Ping219.158.10.62中国网通骨干网北京市网通ping219.158.10.62-l1024-n300Replyfrom219.158.10.62:bytes=1024time=76msTTL=249Replyfrom219.158.10.62:bytes=1024time=77msTTL=249Pingstatisticsfor219.158.10.62:Packets:Sent=300,Received=298,Lost=2(0%loss),Approximateroundtriptimesinmilli-seconds:Minimum=75ms,Maximum=94ms,Average=79msPing221.3.129.250云南省昆明市网通ping221.3.129.250-l1024-n300Replyfrom221.3.129.250:bytes=1024time=77msTTL=248Replyfrom221.3.129.250:bytes=1024time=77msTTL=248Pingstatisticsfor221.3.129.250:Packets:Sent=300,Received=299,Lost=1(0%loss),Approximateroundtriptimesinmilli-seconds:Minimum=76ms,Maximum=100ms,Average=79msPing221.3.139.254云南省昆明市网通ping221.3.139.254-l1024-n300Replyfrom221.3.139.254:bytes=1024time=76msTTL=247Replyfrom221.3.139.254:bytes=1024time=79msTTL=247Pingstatisticsfor221.3.139.254:Packets:Sent=300,Received=299,Lost=1(0%loss),Approximateroundtriptimesinmilli-seconds:Minimum=75ms,Maximum=103ms,Average=78msPing221.6.151.112云南省昆明市网通ping221.6.151.112-l1024-n300Replyfrom221.6.151.112:bytes=1024time=78msTTL=119Requesttimedout.Replyfrom221.6.151.112:bytes=1024time=79msTTL=119Replyfrom221.6.151.112:bytes=1024time=78msTTL=119Replyfrom221.6.151.112:bytes=1024time=83msTTL=119Pingstatisticsfor221.6.151.112:Packets:Sent=300,Received=265,Lost=35(11%loss),Approximateroundtriptimesinmilli-seconds:Minimum=77ms,Maximum=97ms,Average=80ms解决办法:从上面的测试结果,可以看出221.3.139.254到221.6.151.11229/30用友软件股份有限公司HBU事业部技术顾问王辉丢包率为11%.提交给用户的网管,调整之后,访问NC正常四.应用服务器到数据库服务器的链接在数据库服务器和应用服务器上不要安装或启用DHCP,DNS,PROXY、WINS和防火墙等服务。针对以Windows2003和WindowxXP作应用服务器的用户请将防火墙功能停止,保证数据库服务器和应用服务器,应用服务器和应用服务器间高速网络通信,不建议安装或设置跨网关或跨防火通信。由于数据库服务器和应用服务器经常在同一局域网内,因为局域网络高效传输的特点,应用服务器和数据库服务器之间很少出现网络缓慢问题。定期检查时,可以使用ftp工具在两台服务器之间拷贝一个文件,查看下传输速率。30/30