EAS常见系统性能问题处理指引服务端收集工具:请检查服务端的eas/server/bin下是否有eassupport.bat或者easssupport.sh文
件,前者用于Windows平台,后者用于Linux和Unix平台。执行相关脚本会在当前路径下生成一个文件名以support打头的压缩包。
日志收集时间可能会比较长,中间也可能会报一些错误,请耐心等待,收集完成后会提示生成的文件名及其路径。
1.2.2 性能日志开关
对于一些疑难的性能问题,为了进一步分析产生的原因,可能会需要收集性能日志,默认情况下,性能日志开关处于关闭状态,需要在收集之前打开。方法有两种:直接修改配置文件,以及动态打开。前者需要重启EAS后才能生效;后者打开后立即生效,但不会修改配置文件,因此重启后会以配置文件中的设置为准。需要注意的是,在EAS集群环境,每个EAS实例都有自己的性能日志开关。 1. 配置文件修改方法。
文件名:eas/server/profiles/<实例名>/config/PerfLog_Server.properties,主要内容如下:
#on or off ksql=on rpcsql=on
rpcsql_pre=off sqlplan=on
dbconnection=off ksql_output=off workflowsql=off
workflowsql_pre=off perfevent=off …
#on or off
rpcsql_filter_time=on #invoke time, ms
rpcsql_filter_time_threshold=5000 #on or off
sqlplan_filter_time=on #sql time, ms
sqlplan_filter_time_threshold=5000
如果要打开性能日志,修改rpcsql以及sqlplan两个为on即可。默认情况下,执行时间超过5秒的事件才会输出日志,若需要修改此阀值,请调整相应的参数。 2. 动态打开服务器性能日志开关,目前仅适用apusic环境。 http://<服务器IP>:<端口>/ 用户名密码:admin/admin
5 / 31
EAS常见系统性能问题处理指引 对于server1,默认的端口是11030,server2则为11029,依此类推,具体某个实例的端口可以查看eas/server/profiles/<实例名>/config/jmxconnector.properties文件中的http.port参数的值。进入管理页面后,搜索并找到invokeCounter,点击进入。找到RpcSqlOn和SqlPlanOn,并分别设置为True。最后点击“Apply”按钮应用。
如果是为了收集某个特定慢的功能的性能日志,建议按如下步骤处理:
1. 打开server1的性能日志开关,配置客户端的服务器连接端口,将原来的群集端口号改为
server1的端口号(管理控制台可以看到端口号)。 2. 登录EAS,操作特定的业务功能。
3. 待操作完成后,分别收集客户端和服务器端的eassupport日志。 性能日志收集完成后,请记住关闭相应的性能日志开关。
1.3 EAS部署模型
掌握EAS部署模型,对于分析和诊断EAS性能问题会有很大的帮助,下图是EAS网络图,可以看到EAS是典型的三层模型。
EAS应用服务器集群EAS客户机EAS服务器1EAS客户机集群前端机(Load Balancer)EAS服务器2数据库服务器。。。状态服务器EAS客户机EAS服务器n
数据库端主要运行各种DBMS系统,如Oracle、DB2、SQL Server等,可能会采用单台处理能力很强的服务器来运行,也可以组成集群,具体组建方式取决于DBMS本身的架构和能力。 在应用服务器层,金蝶EAS提供了灵活的可扩展模型以满足从中小规模到大规模的应用需求,并发用户不多的客户可以采用单实例的方式,只需部署一个EAS实例,而对于更大规模的客
6 / 31
EAS常见系统性能问题处理指引
户,则应该采用EAS集群来满足对并发处理能力、可靠性、可扩展性的需要。EAS采用J2EE作为基础架构,因此可以在多种操作系统平台上运行,包括Linux、AIX、HP-UX、Windows等。
客户端和服务器之间则通过局域网或者广域网连接在一起,采用标准的TCP/IP协议进行通讯。客户端理论上也可以在多种操作系统平台上运行,但由于很少有客户的桌面采用非Windows环境, 且EAS客户端在其它操作系统环境没有经过充分测试验证,本文档也不会涉及在其它操作系统运行EAS客户端的情形。
AppServerEAS Server 1EAS业务组件 Session状态数据HTTP ServerReas client filesRAppServerEAS Server 2EAS业务组件 调度服务、银企直联等 单例服务 单例服务状态数据HTTP ServerReas client filesAppServerEAS Server 3EAS业务组件 Session状态数据HTTP ServerRRPC ServerSession状态数据RPC ServerRbosconfig.xmlRPC ServerRbosconfig.xmleas client filesbosconfig.xmlClientEAS ClientEAS业务组件 RPC ClientTCPR服务器连接信息/eas/client/set-client-env.batHTTPR集群配置数据ormrpc_loadbalance.propertiesCluster ServerCluster ControlerHTTP ClusterRPC Cluster自动更新组件1、一些在集群环境下只能有一个运行实例的服务称之为单例服务,为了提升可靠性,可以设置备用单例服务器。2、除了单例服务器外,其他服务器实例都是对等关系,没有主次之分。3、节点失效后,会自动迁移到正常节点并重建状态信息,客户端业务不会中断。4、集群将做为EAS基本部署形态以提升整体可用性。 上图是进一步分解的EAS部署模型,其中展示了一个EAS集群控制器和三个EAS运行实例。有必要对这些概念做一下解释:
集群控制器(Cluster Controller):又称集群前置机、负载均衡器。对于客户端而言唯一可见的EAS服务器,当其接收到客户端的连接请求后,会根据某种负载均衡算法将调用转发到后端的EAS实例,并将结果返回给客户端。可以为每个实例指定一个静态权重。
主节点(Master):又称主实例。EAS的某些基础服务,如调度服务、网络控制、License管理等在整个集群环境中只能有一个运行实例,我们称之为单例服务。运行了这些单例服务的EAS节点称之为主节点。一个集群只能有一个主节点。
7 / 31
EAS常见系统性能问题处理指引从节点(Slaver):又称从实例。集群环境下可以有一个或者多个从实例,运行除了基础服务以外的所有EAS组件。当其中的程序需要访问基础服务的时候,会自动调用主节点中的基础服务,这种调用关系是在从节点的bosconfig.xml中配置的,部署工具会自动完成此工作。 EAS服务器端口:由上图中的RPC Server组件监听的TCP端口,默认为11034,运行期客户端的所有服务请求通过此端口完成。
EAS自动更新端口:由上图中的HTTP Server组件监听的TCP端口,如果应用服务器采用Apusic,默认为6888。其为Portal的访问端口,同时也是客户端进行自动更新的服务端口。
EAS集群模型特点
1. 支持本机和多机集群:
? ? ? ?
一台服务器可以部署多个EAS实例组成本机集群; 可以将多个服务器上EAS组成多机集群; 两种模式可以混合使用;
异构的应用服务器之间可以组成集群。
2. 自动负载均衡和高可用特性:
? ? ? ? ?
大并发时减少单点内存占用,降低故障几率;
根据预设权重以及运行期的实例负荷情况进行自动负载均衡; 当实例健康状态恶化,无法自行恢复时,系统会主动重启相应的实例。 实例因故障失效后,客户端能重新连接到正常实例,且当前工作内容不会丢失。 在运行期可以动态地装载或者卸载EAS运行实例。
3. 自主集群技术:
?
不依赖操作系统或者应用服务器的集群技术。
1.4 问题归类
当客户反馈系统很慢或者不可用时,我们应该进一步了解问题发生时的症状、影响范围等信息,做出初步的判断,然后再通过进一步的信息收集定位问题所在。 请参照下表对发生的性能问题进行归类。
8 / 31
相关推荐: