零售/批发WAS 6.1odm 8.0

ilog rules cpu 开销巨大,求解决办法

环境介绍:ILOG JRULES V7.0.3版本,J2SE方式调用(即在同一个JVM里部署一个WEBSERVICES以供业务调用,该WEBSERVICES调用RES);服务器2C,每C4核,超线程,8G内存,LINUX操作系统,安装WASND6.1版本;问题说明:CPU开销非常大,LOADRUN测试的时候10个并发CPU能到40%,20个并发CPU到80%,100个并发5分钟...显示全部
环境介绍:
ILOG JRULES V7.0.3版本,J2SE方式调用(即在同一个JVM里部署一个WEBSERVICES以供业务调用,该WEBSERVICES调用RES);
服务器2C,每C4核,超线程,8G内存,LINUX操作系统,安装WASND6.1版本;
问题说明:
CPU开销非常大,LOADRUN测试的时候10个并发CPU能到40%,20个并发CPU到80%,100个并发5分钟能扛住,但响应非常慢了。

操作系统已调优(含分区设置,打开文件数限制等)
WAS已做调优(连接池,JVM,线程数,GC等)
应用已做调优(已参照README上所述将ILOG JRULES应用相关参数进行了调整);
经过以上折腾,无果,CPU依然非常高,

开始时候是单机,应用直接发布在9080端口,怀疑应用有问题,于是编了一个最简单的调用(那真叫一个HELLO WORD),只有两个Bunisess Rule(用了XOM),之后直接输出结果,无果;
在控制台查看PMI,各项指标正常,唯独CPU很高;
感觉可能是应用负载过高导致CPU开销大,于是修改发布环境,将单机改成IHS(1个)+PLG(1个)+SERVER(3个),也就是一拖三的方式再跑压力,无果;

再修改发布环境,改成横向集群,A,B两机器,A:(IHS(1个)+PLG(1个)+SERVER(1个)),B:(Server(1个))再测,20并发情况下,每机器CPU在40%左右,此方案也无果而终;

最后没撤了,明天准备将版本升到V8.0(现在好像应该叫ODM了);

ilog jrules真的这么费CPU么?请各位路过的兄弟瞧瞧我这到底咋了?

注意:RULE调用架构上目前只允许J2SE的方式,J2EE的方式不考虑。收起
参与5

查看其它 3 个回答enter2000的回答

enter2000enter2000系统架构师快乐购
哈哈,安装和配置已经核对过,无问题,WAS上能用到的分析工具基本上都拿出来用了一把,除了看出CPU开销过大外,还真没其他收获,架构上的修改尝试过了,J2EE方式调用无问题,但目前我们的业务系统不允许我们使用将J2EE方式调用,所以只能作罢。
与ILOG中国实验室取得联系,暂无结果,目前的解决方案是将之升级至8.0(ODM),问题得到解决,100并发情况下CPU大约2%~3%之间(1C,4核,2GMEM)。
感谢大家参与,谢谢!
零售/批发 · 2013-01-08
浏览1409

回答者

enter2000
系统架构师快乐购

enter2000 最近回答过的问题

回答状态

  • 发布时间:2013-01-08
  • 关注会员:1 人
  • 回答浏览:1409
  • X社区推广