如何预防EAS实例宕机
金蝶云社区-王秀珩
王秀珩
1人赞赏了该文章 959次浏览 未经作者许可,禁止转载编辑于2017年09月27日 14:45:10

EAS在日常使用过程中经常会遇到因为配置不当,或者是有功能点占用过大内存导致内存溢出等等原因导致服务端实例出现无故停止的情况,我们称之为宕机。如果是主实例发生了宕机,所有的客户端都将无法使用,因此一旦发生宕机,影响面是比较大的。有些宕机问题从配置上是可以避免的,今天就指导大家怎样从环境部署层面来减少宕机情况的发生,让我们的EAS系统能更加稳定地运行~~一、 对于并发量大的系统,建议搭建集群环境。(EAS820版本强制要求搭建集群,其余版本根据实际情况搭建)可参考:《EAS应用部署》 http://club.kisdee.com/club/cloudschool/course?cid=128 《金蝶EAS V8.2系统管理员用户手册》https://pan.baidu.com/s/1gfVTGiR 《金蝶EAS V8.2系统部署方案》 https://pan.baidu.com/s/1eTUkfa6 二、EAS800及以上版本的实例内存建议至少调整至3G~5G(前提是jdk是64bit,并且服务器所在的操作系统内存足够),调整方法:(1)修改eas\server\profiles\server#\bin\set-server-env.sh(bat)注意:(群集环境中每个实例下的配置文件都需要修改)。 SETJVM_INITIAL_HEAP_SIZE=3072m SETJVM_MAX_HEAP_SIZE=3072m(2)保存后重启EAS server (集群环境就重启集群)生效。

三、确保返回结果集参数设置合理。因为这三个参数是为了限制业务返回数据量而存在的,设置过大,则相当于业务返回数据量可以更多,而EAS实例内存是固定的,返回数据量越多,则业务返回数据量占用实例内存越大,从而会导致实例内存溢出,发生频繁宕机的现象。
(1)检查方法:
eas\server\profiles\server#\config目录下的bosconfig.xml文件中的criticalCollection、criticalIDList、exceptionCellNumber这三个参数
建议值为
criticalCollection=100000~300000
criticalIDList=100000~300000
exceptionCellNumber=1000000~3000000
这三个参数是全局参数,若按建议值配置后个别功能点还会因超出限制而报错,则应从代码层面优化该功能点,而非一味地调大参数。
(2)修改方法:
直接在“管理控制台>>工具>>控制台参数”对这三个参数进行设置,保存后重启管理控制台,再重启EAS实例即可生效。(设置参数后,关掉管理控制台界面->执行admin目录的stopserver.cmd(sh)->启动管理控制台->通过管理控制台启动eas实例) 四、EAS820版本建议安装补丁:(1)安装bos运行引擎模块补丁PT117591(解决ehcache bug导致实例频繁宕机的问题);(2)如果是注册用户模式访问,建议安装以下补丁以防止实例因连接泄露而被集群控制器重启:PT112362、PT113987、PT114898。 五、如果环境在满足上面四点的情况下还发生宕机问题,那就需要分析是否是功能点有问题,此时建议收集以下日志提单分析:1、确认是否产生宕机日志: 确认是否产生*heapdump*、javacore*.txt、Javaheap*、core*、hs_err*.log等类型文件。 对应路径参考: $EAS_HOME \eas\server\profiles\server*\bin\;2、如果有宕机日志产生,请提供宕机日志提单分析;如果没有宕机日志产生,请收集服务端eassupport日志提单分析(服务器端eas/server/bin下执行eassupport.bat(Windows)或easssupport.sh(Linux/Unix)文件,会在当前路径下生成一个以support打头的文件);3、日志过大,请使用FTP工具上传文件到FTP,并准确在提单上提供文件存放路径和命名;上传方法:将收集到的所日志压缩成一个包,然后上传;上传位置:ftp://ftpdev.kingdee.com/信息上传/ (用户名/密码:usersupport/usersupport2007。