随笔-2  评论-1  文章-10  trackbacks-0
  2011年1月5日

转载于:http://hi.baidu.com/xjch666/blog/item/fc0a47d17102bade562c8483.html

4. 必要参数的调整

在生产环境中安装WAS完毕并创建了一个可用的概要文件之后,必须根据实际情况进行必要参数的调整,以便提高WAS性能、方便错误诊断。这些参数通常要结合运行环境的实际情况、实际的并发量和服务器的资源利用情况进行调整。完整的调优涉及操作系统、应用、应用服务器和数据库的综合调整,具体要调整的参数、含义,请参见WAS资源中提到的资源监控和性能调优章节,例如,红皮书sg246392的17.5章节中明确谈到了性能调优通常涉及的参数以及调整原则。本文提出的只是针对应用服务器本身一些重要的参数调整的指导原则和经验之谈,以便读者能够快速起步:

  • Java虚拟机堆大小(JVM Heap Size): 控制JVM代码可使用的堆大小,单位M。该参数在服务器->应用程序服务器>进程定义>Java虚拟机中进行设置。JVM最大堆大小默认是256M,在生产环境中通常要根据机器物理内存情况、应用运行特性来设置,且多数情况下都要把此参数调大。根据经验,内存充足时,通常的调整在500M到1024M之间。需要注意的是,建议JVM Heap的最大值不要超过1024M,如果JVM Heap Size过大,可能会引起内存分页,或者造成JVM垃圾回收时间过长,反而影响应用服务器性能。有关Java虚拟机调优的具体信息,请参考调整JVM参数
  • Web容器线程池:该参数在“服务器 > 应用程序服务器 > server1 > 线程池”的“WebContainer”中进行设置(如图6),默认值是10到50。如果硬件资源允许,通常会把线程池的最大大小调到100。

    图 6. 调整线程池
    图 6. 调整线程池
  • 数据源连接池:该参数在资源->JDBC->数据源->数据源名称,选择“连接池设置”中设置,默认大小为1到10。根据资源设置的队列(Queue)原则,从Web容器线程池,到数据源连接池的参数设置,应该是从大到小的管道。前面我们列举了Web容器线程池的最大值设置100,对于数据源连接池,设置的最大值通常不超过50。多数情况下调整为30。实际运行中可以修改此参数值,观察调整对性能是否有正面影响。注意,如果把数据库连接池最大大小调得过大,JVM有限的资源都耗费在维护连接池、处理与数据库连接上,可能反而造成WAS性能的下降。
  • WAS 进程日志参数:WAS进程日志常用的有SystemOut.log和SystemErr.log。这两份日志默认大小为1M,历史日志文件数为1份。在生产环境中,这样的设置通常不足以充分保存发生问题时的错误信息。我们可以通过修改日志默认大小、历史日志文件数来保存更多的信息。注意,不要把单份日志文件大小设置过大(例如,超过10M以上),否则可能影响WAS性能。另外,我们建议把应用日志与WAS日志分离开。如果应用中大量以System.out.print或者System.err.print来保存应用状态日志,也可能会影响服务器性能。

    图 7. 修改WAS日志属性
    图 7. 修改WAS日志属性
  • Heapdump文件:前面我们提到,Heapdump文件对磁盘空间占用很快,因此,可以设置IBM_HEAPDUMP参数把Heapdump文件存放到指定目录下。
  • Web服务器的访问日志access.log:IBM Http Server的访问日志access.log默认是打开的,其中记录了经过Http服务器的请求信息。在高并发的系统中,这一日志增长非常过,当日志过大时,可能占用过多磁盘空间或引起性能下降,如果您的系统不需要这份日志,或者有其他技术手段保存用户访问信息,可以关闭该日志。具体做法为:打开IBM Http Server安装目录/conf目录下的httpd.conf文件,搜索CustomLog,把CustomLog所在行用#注释掉即可。



回页首


5. 常见的日常管理任务

由于生产环境访问控制的需要,搭建WebSphere环境之后,通常可能会要求修改应用访问端口,或者更改WAS管理员密码,启用/停用管理安全性等等。

5.1. 查看/更改应用服务器端口

应用服务器安装完毕之后,为了避免生产环境中的端口冲突、端口访问控制,有时我们需要查看或更改应用服务器的端口。

  • 查看端口
  • 更改应用访问端口

    默认情况下,WAS的管理控制台和应用访问是两个不同的端口。访问WAS的管理控制台或者WAS上部署的应用,所使用的端口由应用服务器端口以及虚拟主机决定。假设我们要把应用访问的端口从9080变成9082(实际工作中,如果没有Web服务器,有的环境会希望把应用访问端口变成80,方法类似),则按如下步骤进行:登陆WAS管理控制台,选择 左边菜单 服务器 - 应用服务器,点击 server1,选择“端口”,点击“WC_defaulthost”(如图8),修改端口为自己想要的任意端口(注意避免端口冲突),例如,9082。然后点击“确定”。然后“保存”。



    图 8. 修改应用访问端口
    图 8. 修改应用访问端口

    然后,选择 左边菜单 环境 - 虚拟主机,点击”default_host”,选择“主机别名”(如图9),把原有端口9080改成与前面应用服务器/端口/WC_defaulthost一致的端口,例如,9082。或者点击“新建”,把在WC_defaulthost修改之后的端口号填入,点击“确定”、“保存”。



    图 9. 修改虚拟主机
    图 9. 修改虚拟主机

    当然,如果你在前面应用服务器/端口/WC_defaulthost中设置的端口已经出现在虚拟主机/default_host/主机别名的列表中,则不需要做改动或者新增主机别名端口的工作。目的就是要让 应用服务器/端口/WC_defaulthost的端口出现在 虚拟主机/default_host的主机别名列表中。更改在重启WAS服务器之后生效。

  • 更改WAS管理控制台端口

    登陆WAS管理控制台,选择 左边菜单 服务器 - 应用服务器,点击 server1选择“端口”。然后更改WC_adminhost为自己希望的管理控制台端口。然后点击“确定”、“保存”。选择 左边菜单 环境 - 虚拟主机,点击;然后选择admin_host,选择“主机别名”。把原有端口9060改成与前面应用服务器/端口/WC_adminhost一致的端口,例如,9063。或者点击“新建”,创建一个主机别名 *, 9063。然后“确定”,“保存”。目的就是要让 应用服务器/端口/WC_adminhost的端口出现在 虚拟主机/admin_host的主机别名列表中。

5.2. 管理安全性

针对生产环境要求的多变性,实际WAS环境搭建中可能涉及管理安全性的多种操作。

  • 启用管理安全性

    启用管理安全性将激活用于防止未经授权的用户使用服务器的设置,简单来说,进入管理控制台、更改应用服务器配置、停止应用服务器进程这些管理任务,都需要输入预先定义的用户名和密码才能完成。缺省情况下,创建概要文件时会启用管理安全性(图9)。如果在创建概要文件时没有选择“启用管理安全性”,在随后使用过程中又希望启用,则可按如下步骤进行:

    首先进入控制台,例如:http://was_ip:9060/admin,注意这里登陆的用户一定要是设置安全性的用户。例如,admin。选择“安全性”>“安全管理、应用程序和基础结构”,然后点击“安全配置向导”(图10)。为了配置的简便性,在“指定保护范围”中,可以不选择“使用 Java 2 安全性来限制应用程序访问本地资源”;在“选择用户存储库”中接受默认选项,用户存储库为“联合存储库”,点击“下一步”;在配置用户存储库中填入用户名、密码。如果您是第一次启用管理安全性,则输入一个新的用户名(您登陆管理控制台的用户名)和密码。这个用户名密码是任意的,并不要求是操作系统用户,因为联合存储库默认的用户条目来自于文件;如果以前曾经使用该存储库启用过管理安全性,则使用存储库中持有管理员特权的用户名和密码。点击“下一步”、“完成”。保存之后重启应用服务器,这时登陆管理控制台等就需要提供您预定义的用户名/密码了。



    图 10. 配置管理安全性
    图 10. 配置管理安全性
  • 停用管理安全性

    停用管理控制台很简单,在图10所示页面,不选择“启用管理安全性”,点击“应用”,保存并重启应用服务器即可。有一种特殊情况下,特如忘掉了管理员密码,此时我们无法登陆管理控制台,从而无法在管理控制台中停用管理安全性。这时,可从$WAS_HOME/profiles/xxx概要文件名/bin目录下,发出如下命令: wsadmin -conntype NONE 。当wsadmin的命令行窗口出现之后,发出下列命令: securityoff 。上述操作在应用服务器启动或停止的状态都能发出。再次启用WAS时,就是停用管理安全性的状态了。

  • 更改管理员密码

    当我们需要更改管理员密码时,可以选择“用户和组”>“管理用户”,如图11,在搜索内容为“*”时点击“搜索”,会列出该存储库中的所有用户。选中管理用户标识,可更改该用户的密码。更改即时生效。



    图 11. 管理用户
    图 11. 管理用户
  • 忘记管理员密码

    如果忘记管理员密码,我们无法进入管理控制台更改密码。此时,需要先用“停用管理安全性”一节中wsadmin命令的方法,停用管理安全性,然后“更改管理员密码”,再次“启用管理安全性”即可。

  • 创建更多的管理用户

    使用启用管理安全性的WAS环境时,默认情况下只有一个管理员ID,这意味着同一时刻只有一个人能登陆管理控制台。这对于多人开发小组在同一WAS环境发布测试时并不方便。您可先在存储库中创建一个用户,然后为该用户ID分配相应的管理角色。具体步骤如下:1)选择“用户和组”>“管理用户”,如图24,点击“添加”,添加一个用户ID,例如,admin1。保存。 2) 选择“用户和组”>“管理用户角色”,如图25,填入用户名(必须是在存储库中已经存在的用户名),选择相应的管理角色,例如,“管理员”。点击“确定”,保存。这样,下次重启WAS时,两个用户都能同时登陆管理控制台。



    图 12. 管理用户角色
    图 12. 管理用户角色

5.3. 备份/恢复概要文件

生产环境、概要文件配置过于复杂或经常更改时,我们需要定期备份概要文件,以便必要时快速恢复。您可使用backupConfig 命令备份配置文件。例如,要备份概要文件AppSrv01的当前配置,可以从$WAS_HOME/profiles/AppSrv01/bin目录下,发出命令 backupConfig,它会将AppSrv01当前概要文件默认生成一个压缩包,您也可以指定该压缩包的名称,例如:backupConfig WebSphereConfig_2007_05_30.zip。恢复配置时,使用restoreConfig WebSphereConfig_2007_05_30.zip。

5.4. 正确卸载WAS

需要提醒的是,WAS的卸载过程不是直接删除目录,如果这样做,下次你可能无法在同一台机器上成功安装WAS。在卸载WAS之前,先停止机器上的WAS进程,用ps –ef |grep java确保没有was进程在运行。然后,执行WAS_HOME/uninstall/uninstall.sh命令卸载WAS。如果因为某些特殊原因卸载向导引导的卸载过程没有成功(例如,您直接删除了WAS安装目录),或者您希望在同一目录再次安装WAS,请参照信息中心“手工卸载”给出的建议。

posted @ 2011-01-05 20:39 沉香江南 阅读(659) | 评论 (0)编辑 收藏
  2010年12月24日

本文转载于:http://hi.baidu.com/lingzexu/blog/item/5cd8800394e6dee008fa931a.html


1.
  
概述

       weblogic中创 建域时会自动创建一个服务器,如myserver。但一个域中其实可以有多个服务器的,其中有一个服务器是管理服务器,其他的服务器是受管服务器,顾 名思义,就是被管理服务器所管理的服务器。

       管理服务器主要是用来配置weblogic的相关配置管理的,一般不用来部署JAVA应用,而是将JAVA应用部署到受管服务器中去。

       举个例子,weblogic的控制台是属于管理服务器 的功能,受管服务器没有这个功能。

       之前所采用管理服务器与受管服务器分开是为了方便管理,因为受管服务器可以从控制台启动与停止,但管 理服务器只能在控制台停止而不能在控制台启动,因为一旦管理服务器关闭后,控制台就不能用了,所以也无法启动服务器,如若启动必须到服务器端运行启动脚 本。而受管服务器只要在管理服务器运行的情况下,就可以在控制台启动和停止它,这样就可以实现远程启动和停止受管服务器。

2.   配置步骤

       这里的配置是基于WebLogic8.13版本的。

       一、启动管理服务器

       二、创建受管服务器

       三、创建机器

       四、创建结点管理器

       五、启动受管服务器

2.1. 启动管理服务器

       进入到域的主目录,运行startWebLogic.cmd/ startWebLogic.sh脚本。

2.2. 创建受管服务器

2.2.1.    常规配置

       当管理服务器启动完成完,进入控制台:http://localhost:7001/console

       选中 à服务器,在右边窗口中选中“配置新的server..”,在名称中填写受管服务器 的名称,点击创建按钮即可创建一个新的受管服务器,当然监听端口号不能再是7001了。

   WebLogic受管服务器配置 - hero_213 -hero_213的博客

       创建完之后,将在左列的菜单栏中出现这个新创建的服务器NewServer

WebLogic受管服务器配置 - hero_213 - hero_213的博客

      

2.2.2.    远程启动配置

       选种NewServer,再在右侧的页面中选中 “远程启动”选项卡

WebLogic受管服务器配置 - hero_213 - hero_213的博客

       如上图填写相关参数 值,如下:

       Java主目录:D:\Program Files\bea\jrockit81sp3_142_04

       Bea主目录:D:\Program Files\bea

       根目录:D:\Program Files\bea\user_projects\domains\mydomain

       类路径:D:\Program Files\bea\weblogic81\server\lib\weblogic.jar

       安全策略文件:D:\Program Files\bea\weblogic81\server\lib\weblogic.policy

       点击“应用”。

2.2.3.          屏蔽SSL验证

       如要有SSL验证的话,通过控制台启动受管服务器时会出现如下错误:

[Security:090504]Certificate chain received from localhost - 127.0.0.1 failed hostname verification check. Certificate contained HK but check expected localhost

       点击上图中的“密钥库与SSL”标签卡,在出现的页面中选择“高级选项”的显示。将“主机名验证”的下接框选为“无”。

WebLogic受管服务器配置 - hero_213 -hero_213的博客

 

2.3. 创建机器

2.3.1.    常规配置

       选种左侧菜单栏下的:域à机算机(machine),选种右侧页面的“配置新的 Machine..”,在名称处填写该机器的名称,如:NewMachine。然后点击创建

WebLogic受管服务器配置 - hero_213 - hero_213的博客

2.3.2.    配置节点管理器

       如上图中选中“节点管理器”

       监听地址:即受管服务器 所在的机器的IP(不 能用localhost127.0.0.1),必须是IP

       监听端口:节点管理器启动监听的端口。

       解释:节点管理器是由受 管服务器所在的机子端启动的,它是一个单独的JAVA应用,也即是说我们需要手动去启动节点管理器,之后,控制台通过发关请求给这个节点管理器,实现受管 服务器的启动。

WebLogic受管服务器配置 - hero_213 -hero_213的博客

2.3.3.    选择受管服务器

       即我们需要把哪些受管理 服务器添加到节点管理器中,使之具备远程启停的功能。

       点击上图中的“服务器”选项卡。勾选要受管的服务器,当然不能是管理服务器了。

       WebLogic受管服务器配置 - hero_213 - hero_213的博客

2.4. 启动受管服务器

       ok,通过上述的一系 统列配置,节点管理器的配置就完成了,眼下就是要启动节点管理器了。这是一个关键的时刻,因为不是那么简单就能启动的。

2.4.1.    命令行启动

       如果我们只想启动受管服务器的话其实也可以通过运行脚本来实现,而且,这样启动方式只需要“创建受 管服务器”就可以,不需“创建机器”,且在“创建受管服务器”配置中不需要“屏蔽SSL验证”。但这样启动方式只能是在受管服务器端启动,不能远程启动,即不是本文所配置的目的了。

       在控制台中进入D:\Program Files\bea\user_projects\domains\mydomain目录下。

       运行命令:startManagedWebLogic.cmd NewServer http://localhost:7001

       两红色部分分别是受管理服务器名和管理服务器的URL地址。

2.4.2.    控制台启动

2.4.2.1.          启动节点管理器监听

       首先要启动节点管理器的监听应用,这个应用的上的是为了接收管理服务器发送过来的请求,并处理相关操 作,如启动或停止受管服务器。

       这个节点管理器监听应用必须是与受管服务器在同一主机上的。

       进入D:\Program Files\bea\weblogic81\server\bin目录

       运行:startNodeManager.cmd脚本。

       注意:这里在运行这个脚之前需要配置一个地方,就是

       D:\Program Files\bea\weblogic81\common\nodemanager目录下的nodemanager.hosts文件。

       这个文件保存是的节点管理器接受哪些管理服务器的操作命令,除了这些主机上的管理服务器发送过的请 求被接受,其他主机发送过来的请求不被接受。毕竟是为了安全着想。

       编辑该文件,在文件的末尾添加如下:

       10.36.1.96

       配置这个的目的是为了 指定管理服务器所在主机的地址,即这些主机上的管理服务器发送过来的操作请求能被节点管理器的监听程序接受并执行相关的操作,否则这个节点管理器不予处 理。如果允许任何主机则用星号表示。

       记住,就算是在本机测试,这个IP也要最好写全,不能写localhost127.0.0.1的。

2.4.2.2.          启动受管服务器

       好了,节点管理器监听程序启动了,这下就是要通过控制台启动受管服务器了。

       点击左侧菜单“域à服务器àNewServer”,在右边页面选择上排 的“控制”标签卡,再选择下排的“启动/停止”标签卡。点中“启动此服务器”即可启动了受管理服务器了。

WebLogic受管服务器配置 - hero_213 -hero_213的博客

2.4.3.    验证

       上面不管是以哪种方式启动受管服务器,启动成功后,如果启动成功则上图界面会变成如下:

WebLogic受管服务器配置 - hero_213 - hero_213的博客

       如果启动失败,则界面如下:

WebLogic受管服务器配置 - hero_213 - hero_213的博客

       上图中,我们可以点击“FAILED”链接查看失败的原因。OK,到处受管服务器的配置即完成了。

posted @ 2010-12-24 15:12 沉香江南 阅读(2865) | 评论 (1)编辑 收藏
仅列出标题