第一范文网 - 专业文章范例文档资料分享平台

04 EAS常见系统性能问题处理指引

来源:用户分享 时间:2025/6/3 6:00:15 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

EAS常见系统性能问题处理指引

1.6.6 数据库阻塞和死锁

首先要明确阻塞和死锁是两个不同的概念,阻塞指的是一个事务在等待另外事务释放锁定的资源才能继续运行,而占用资源的事务可能需要执行较长时间才能完成,导致第一个事务出现等待,等的时间长了,就会形成阻塞,如果出现大面积的阻塞,对性能会产生严重影响。如果第二个事务继续运行的过程中发现其所需要的资源又被第一个事务所占用,就会形成相互等待的情况,这就是死锁,一旦发生死锁,就必须牺牲一个事务,否则大家都无法继续运行,通常数据库会自动检测死锁并牺牲其中一个事务。从这一点来看阻塞比死锁造成影响可能会更大。

SQL Server和DB2都有读锁,如果有许多长时间的事务在执行,可能会占用大量的资源而造成其它事务等待,形成阻塞,直到长事务执行结束。Oracle数据库没有读锁,其采用了特有的机制来保证读一致性而不会阻塞其它事务,所以Oracle数据库出现阻塞的几率会更小一些。 诊断方法:

# 如何判断数据库出现了阻塞 1 通用 如果出现如下现象,基本可以判断是发生了阻塞。 应用服务器、数据库服务器CPU和IO都不忙,应用服务器个别CPU可能出现持续100%占用的情况。 EAS某些功能一点击就会灰屏,但其它功能又正常。 2 Oracle Oracle 9i可以用Enterprise Manager的性能视图和锁视图查看所占用的情况来分析,如果发现有锁长时间不释放、大量锁定,并且有大量的enqueue等待事件,则说明发生了阻塞。 Oracle 10g可以利用基于Web的Enterprise Manager来分析阻塞,从顶级活动、阻塞会话、实例锁等多个功能来判断是否发生了阻塞。 3 DB2 通过DB2的相关工具或命令收集死锁以及锁定待日志,DB2快照等。 4 SQL Server SQL Enterprise Manager中的 管理 | 当前活动 | 锁/进程ID中查看当前的活动会话,如果发生阻塞会有明显的指示。 详细的跟踪分析方法,请参考EAS数据库跟踪分析相关系列文档。 解决办法:

1. 找到引起阻塞的会话或者进程,强行中止其运行。

25 / 31

EAS常见系统性能问题处理指引2. 对于严重阻塞的情况,可能需要重启数据库。 3. 专家协助分析处理。

1.7 网络常见问题 1.7.1 网络质量问题

网络质量不稳定对EAS的运行性能可能产生较大的影响,网络质量的评价指标主要包括带宽、延迟、丢包率等。要保障EAS正常运行,对于网络质量有如下要求:

1. 每客户端128kbit的带宽保障;多人共用出口时,带宽要求:客户端数量×128/2(客户端

数超过5人),客户端数量×128/3(客户端数超过10人);

2. 网络延迟低于50ms(为理想值)小于100ms为可接受值;如果超过100ms,响应性能会

出现明显衰减不稳定现象。

3. 丢包率小于2%。(附:电信服务规范,因特网数据传送业务的服务标准 第3.2.2.3项 IP 包

丢失率 <2%) 根据我们的经验,

1. 客户使用专线的情况下,延迟超过100ms,通常意味着网络已经出现问题,同时会伴随丢

包,带宽不稳定等问题。

2. 如果是基于Internet的VPN,由于网络质量受当时Internet稳定性的影响,可能会出现网

络质量较大波动的情况。

3. 如果总部和分支机构采用不同运营商的线路(比如总部使用电信,但分支机构使用网通),

网络质量可能较难保证。

如果存在不同运营商线路互联,网络质量不稳定的情况,在总部同时有不同运营商的出口线路应该是比较好的解决方案。

诊断分析方法:请参考《EAS网络质量分析诊断方法》文档。

26 / 31

EAS常见系统性能问题处理指引

1.8 客户端常见问题 1.8.1 EAS越用越慢

如果排除网络和服务器导致的EAS变慢,通常是因为客户端内存参数设置不当或者内存存在持续泄露的情况导致。伴随的现象是EAS操作间歇性出现白屏以及EAS相应进程持续消耗很高的CPU,严重的可能会出现OutOfMemory的异常报错信息,甚至EAS窗口自动消失。 如果客户端经常需要使用处理大量数据的功能点,比如非常大的报表业务等,会需要很多的内存来处理,可能也会导致相应的功能变慢的情况。 诊断方法:

# 如何判断客户端存在内存泄漏 1 Windows 关闭EAS中所有非系统页签,调出EAS主界面系统菜单中的系统信息功能,查看jvm内存的使用情况,点击“回收内存”按钮后,正常情况下应该占用数十M左右,如果达到200多M或者更高,说明存在明显的内存泄漏。 当点击某个业务操作出现白屏的现象,同时伴随客户端CPU消耗很高,基本可以认定出现了内存泄露的情况。 利用JDK所带的jconsole工具连接EAS客户端进程,能够更加准确的判断是否存在内存泄露。

解决办法:

1. 在EAS“服务器连接设置”工具中调整或者直接修改client/bin/set-client-env.bat文件中的

JVM_MAX_HEAPSIZE,增加到368M或者更高。不要超过机器内存的70%,并且小于

27 / 31

EAS常见系统性能问题处理指引

等于1024M。

2. 对于明显存在内存泄漏的功能,请通过需求反馈系统提单解决。

1.8.2 EAS窗口突然消失

在EAS使用过程中,可能出现没有任何征兆的EAS窗口突然消失的情况,有时候是在执行某个业务操作的过程中,有时候是正在录入数据。导致此问题的原因主要有:客户端内存参数不当、泄露导致发生了OOM异常;某些输入法导致JVM异常关闭;JDK本身的Bug引起。

诊断方法:

28 / 31

搜索更多关于: 04 EAS常见系统性能问题处理指引 的文档
04 EAS常见系统性能问题处理指引.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c9t4le7lj649o8y29xxeh_7.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top