Weblogic admin server与manager server内存分配缺陷优化

1、admin server与manager server内存分配缺陷描述

        Weblogic服务器一般会为每一个业务系统设计一个或多个域(domain),每一个域(domain)服务主体必须由Admin server和Manage Server两类Server组成,两类Server都需要占用一定的内存资源(人工配置),Manage Server负责运行业务,Admin Server则只负责管理Manage Server,只是在启动Weblogic和需要调整Weblogic配置时才使用,启动Weblogic后,Admin Server关闭也不影响业务的正常使用,所以Manage Server确实需要大内存支持,但Admin Server则只需要500MB左右内存来维持它开启着随时待命而已。

        Admin server和Manage Server默认设计获取内存配置的方式为:共同调用WEBLOGIC安装目录bea/user_projects/domain/{domain_name}/bin目录下的setDomainEnv.sh文件中的“MEM_ARGS”参数来获取内存大小,导致Admin server和Manage Server都获取到了相同大小的内存。

        例如:因为业务的性能需要为Manage Server配置4GB内存,即在setDOMAINenv.sh文件中配置4GB的内存大小,

 MEM_ARGS="-Xms4096m -Xmx4096m

        这样,Manage Server确实可以获得4GB内存,但是,每个Domain(域)下面的Admin Server也同样获得了4GB,Admin Server在此浪费3.5GB内存,如果一个系统有多个Domain(域),或是一台服务器上部署有多套系统的Weblogic,浪费的内存总数则需相乘。

        上述情况属于Weblogic设计与配置上存在的双重缺陷。

2、admin server与manager server内存分配缺陷带来的影响

        (1)、多套系统共用服务器,以分别创建不同域的方式区分系统,或,一套系统,不同的模块分别以创建不同域来隔离模块服务的方式,形成了一台Weblogic服务器上创建了多个域的情况,每一个域必定有一个Admin Server,使得多个Admin server存在于同一台服务器上的现实情况,在大型公司中,由于中间件服务器数量的庞大,对硬件设备的浪费是惊人的。

        (2)、在内存配置本身不富裕的系统中,浪费的大量内存使得系统性能急剧下降,甚至引起服务器停止响应与down机

        (3)、由于Admin Server浪费了不必要的内存空间,原本可以将多套系统Weblogic共同部署于同一台服务器即可解决的,不得不再多配置一台服务器设备,不仅是硬件设备资源的浪费,还会加大运维人力资源的投入、电力资源的投入、机房空间资源的投入、网络设备资源的投入等等

3、优化策略

3.1内存获取方式架构设计优化调整

3.1.1优化前旧架构(默认)

 技术分享

3.1.2优化后新架构

 技术分享

3.2 内存获取配置代码调整

        为每个DOMAIN(域)的bin目录下startWebLogic.sh文件,增加以下内容:

        在 echo "JAVA Memory arguments:${MEM_ARGS}" 前面加入如下行:

if [ "${SERVER_NAME}" = "AdminServer" ] ; then

MEM_ARGS="-Xms512m  -Xmx512m -XX:MaxPermSize=256m"

Fi

        重启Weblogic即调整完毕。


 

本文作者:黎俊杰(网名:踩点),从事”系统架构、操作系统、存储设备、数据库、中间件、应用程序“六个层面系统性的性能优化工作

欢迎加入 系统性能优化专业群,共同探讨性能优化技术。群号:258187244

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。