袁颖 王静宜
摘 要:随着企业信息化的发展,产品全生命周期管理(Product Lifecycle Management PLM)软件Teamcenter的用户数和数据量不断增加,必然导致软件运行速度降低。通过一个实例,从硬件、网络、软件、二次开发、使用习惯等方面阐述如何进行优化,以解决Teamcenter性能问题,提高软件运行速度,以便更好的为企业用户服务。
关键词:Teamcenter;优化
中图分类号:F27
文献标识码:A
文章编号:1672-3198(2015)15-0059-02
1 引言
Teamcenter是西门子软件公司的一款跨越产品全生命周期从早期的需求计划直到最后的维护检修阶段所有过程的应用及解决方案。随着企业信息化的发展,Teamcenter被应用得越来越广泛,用户数量、数据量也急剧上升,软件运行速度逐渐变慢。通常认为系统运行缓慢了,只要更新硬件,提高配置就能解决,但性能问题不仅仅是硬件一个方面,而是包含了硬件、网络、软件、二次开发甚至使用习惯与方法的综合性问题,根据木桶原理,哪一方面出现了短板都会严重影响性能;同样只大幅提升其中一项,也不会使性能有大幅度提升,各方面因素必须均衡。
2 运行环境
软件:Teamcenter8.3.3,Weblogic10,Oracle11g。小型机2台,系统AIX6.1,2个4核Power6 处理器,32G内存;一台用做数据库服务器,一台做为卷服务和IDSM多站点服务器,双机做HA。磁盘存储一台,2T容量,做RAID5,用来存放数据库文件和卷文件。Windows服务器2台,系统Windows Server 2003,1个8核至强处理器,32G内存;用来做TCServer服务器。服务器之间1000M光线网络,100M到客户端,2个站点之间100M网络直连。高峰在线用户数400。二层四层混合客户端,以二层用户为主。
3 存在的问题及分析
存在的问题包括:多站点协同传送300个ITEM以上的装配时会失败;展开文件夹耗时很长;个别查询缓慢。
经分析,问题的原因包括五个方面:(1)系统架构卷服务写入性能弱。(2)网络配置不合理。(3)操作系统配置不合理。(4)数据库配置不合理、维护保养差。(5)二次开发代码质量影响。
4 优化测试
根据前面对问题的分析,从上述五个方面对Teamcenter软件进行全面优化。
(1)系统架构优化。配置成RAID0+1来提高磁盘读写性能并保证数据的安全。
(2)网络硬件优化。结合企业网络拓扑图和相关工具,把服务器组接入核心层网络,尽可能提升网络带宽,减少掉包率。
(3)操作系统优化。
客户端系统优化:定期清理系统临时文件;定期整理Teamcenter临时文件RAC所在磁盘的磁盘碎片,优化磁盘读写;关闭Windows操作系统自动索引;如果没有使用IPV6则禁用;关闭Windows磁盘缓冲;关闭Windows自动虚拟内存管理,设置成非系统,非CAD所在分区32位系统4G,64位系统8G;关闭不使用的Windows服务如IP Helper、Windows Time等,以减少消耗。
服务器端系统优化:关闭相关调试跟踪功能,不保存相关错误日志,根据每台服务器的功能,去设置相应的内存参数,以保障每个服务都有足够内存使用,同时修改操作系统计算内存和非计算内存比例,给IDSM服务留下足够的内存。
(4)数据库优化。定期整理数据表使用MOVE命令,消除行链接。定期运行信息统计脚本dbms_stats.gather_schema_stats。构建一个针对Teamcenter优化的数据库系统,关闭位图索引,只使用BTree索引。本案例优化调整前Oracle分配内存12G物理内存,PGA,SGA通过AWR Report工具,收集系统在最繁忙的1小时里的相关数据,该数据库缓存命中率偏低,存在部分SQL语句执行时间长达29.05s,查看具体执行语句可以大体判断出该语句是由Teamcenter执行模糊查询的时候发出的。查看数据库连接数,可以得知在线用户数在400左右,每个Teamcenter连接用户占用系统内存大约10M,从而估算出PGA最少应该分配大约400*10=4000M内存,而调整前Buffer Pool 4672M,Buffer Pool越小数据库就需要不断的去磁盘上读取数据,而内存读取数据速度比磁盘上读取速度快至少100倍以上,调整到12000M后,性能提高了25倍。
(5)二次开发优化。本案例中在Teamcenter启动文件中加入一些调试参数,用来调出调试窗口和保存完整的日志。在执行用户反映的展开文件夹缓慢的操作时,通过性能监视窗口看到执行过程1min 12.117s产生9870次CALL,相对于不添加任何二次开发功能的原始开包即用系统(OOTB)展开文件夹几十次的CALL来说多了9000余次。具体查看通信窗口中的CALL,绝大多数的CALL是请求ITEM对象下的属性,这个文件夹一共有1362个ITEM对象,每个ITEM有20余个属性,程序对每个对象的每个属性的读取都产生一次CALL。对于这种获取ITEM对象属性,Teamcenter提供了相关SOA方法,实现对一个对象批量获取属性,即发一次CALL能获得该ITEM的所有属性,修改程序调用方法就能使CALL总量从9870次减少到821次,展开文件夹效率提高了11倍,用户体验得到了很大提高。
性能调优是有较大风险的工作,在做任何操作前做系统和配置参数的备份,修改后及时全面的测试是很重要的一环,发现问题还原参数配置从新分析调整测试。五个方面并不是独立存在的,而是相互影响的。
5 优化效果
6 结论
通过以上的分析诊断调优,在条件允许的情况下根据各自特点进行适当的优化,能使Teamcenter总体性能得到提升,在部分性能问题突出的业务场景中性能得到较大的提升。由于不同的环境造成性能问题的原因各不相同,最终的调优效果肯定也会存在一定的差异,需要结合实际情况具体分析。
参考文献
[1]Troubleshooting Oracle Performance Antognini,Christian[Z].2008.
[2]AIX 5L系统管理技术[M].北京:电子工业出版社,2005.