码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2015-02-23 12:02:15      阅读:211      评论:0      收藏:0      [点我收藏+]

标签:admin server   manager server   startweblogic.sh   setdomainenv.sh   mem_args   

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

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

标签:admin server   manager server   startweblogic.sh   setdomainenv.sh   mem_args   

原文地址:http://blog.csdn.net/ljunjie82/article/details/43915737

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!