目录
1websphere的全新安装... 4
1.1 ND(或BASE)版本的安装和升级... 4
2 WAS6.0的应用部署... 28
2.1 概述... 28
2.2 应用部署图解... 29
3 WAS6.0的完全卸载... 44
4 Was性能优化... 45
4.1 连接池设置... 45
4.1.1 连接超时... 45
4.1.2 最大连接数... 45
4.1.3 最小连接数... 46
4.1.4 收集时间... 46
4.1.5 未使用超时... 47
4.1.6 时效超时... 47
由于ND版本已经自带了JRE环境,而且安装程序会使用自带的JRE环境来启动向导,因此操作系统可以不用提前安装任何JRE环境。可以通过运行安装源中WAS目录下的“install”来启动安装向导,然后根据向导的提示完成ND(或BASE)版本的安装,详细安装过程如下,需要注意的内容可以参考所提供的画面来选择或输入。同时,有经验的用户可以自行选择和配置相关内容。另外,如果在本机上有安装IHS或BASE,那么请先将上述进程都停止,并且注意如果ND和BASE不在同一台机器上,那么请在ND和BASE的hosts文件中添加对方IP和机器名的解析(该文件一般在/etc目录下)。
安装图解如下所示:
如果在上述对话框中没有选择“Launch the Profilecreation wizard”(启动概要表向导)复选框,后续想重新启动该向导,可以通过运行$WAS_HOME/bin/ProfileCreator/pctXXX.bin(其中XXX代表操作系统名称)来启动。下面是创建ND概要表和BASE概要表的举例,如果打算使用ND来管理BASE,那么建议先创建ND概要表再创建BASE概要表,这样可以避免ND不使用相关默认的端口,如果不打算使用ND来管理BASE,那么可以不用创建ND概要表。另外,如果还需要进行WAS的补丁升级,那么可以先不要选择该复选框,等WAS补丁升级完毕后再完成概要表的创建。
在上面的画面中如果向导检索到已经创建过概要表,那么会提示是否将创建的概要表作为默认的概要表,缺省概要表的作用是如果在$WAS_HOME/bin目录下执行相关命令而又没有指定具体的概要表,那么就直接作用在缺省的概要表上。
接下来安装向导将提供单元名和节点名的输入画面,需要注意的是在这里所输入的节点名和单元名不能相同,而且都不要和计划加入该ND的所有BASE节点名相同。
接下来安装向导将自动检测相关端口的使用情况,并自动分配一系列未被使用的端口给相关协议,一般实际值和缺省值相同,但是如果缺省值已经被占用就会不相同,没有特别需要一般不用手工调整(可以通过netstat命令检查是否有端口被其它进程占用)。同时,建议记录下前面6个使用的端口,因为这几个端口后面会经常被提及和需要使用到(此画面仅供参考,请不要以此画面的内容输入)。
上面已经完成ND概要表的创建,验证通过后请手工停止相关进程,下面将要创建BASE概要表,请再次启动“概要表创建向导”。
在上面的画面中如果向导检索到已经创建过概要表,那么会提示是否将创建的概要表作为默认的概要表,缺省概要表的作用是如果在$WAS_HOME/bin目录下执行相关命令而又没有指定具体的概要表,那么就直接作用在缺省的概要表上。
接下来安装向导将提供节点名的输入画面,在创建BASE概要表的时候向导会自动按照所输入的节点名创建相同名称的单元名,因此如果计划将该节点加入ND的那么需要注意所输入的节点名不要和单元名相同。
接下来安装向导将自动检测相关端口的使用情况,并自动分配一系列未被使用的端口给相关协议,一般实际值和缺省值相同,但是如果缺省值已经被占用就会不相同,没有特别需要一般不用手工调整(可以通过netstat命令检查是否有端口被其它进程占用)。同时,建议记录下前面6个使用的端口,因为这几个端口后面会经常被提及和需要使用到(此画面仅供参考,请不要以此画面的内容输入)。
上面安装验证正确无误后,需要手工停止相关进程以便进行后续的补丁升级。首先需要注意补丁安装源的存放位置,请将相关需要安装的补丁安装源以单独目录方式存放在$WAS_HOME目录下,而且目录名必须为updateinstaller,整体结构如下图所示,如果不以这种方式存放,会无法完成升级,而且如果原来已经存在该目录,请注意删除后再拷贝该目录,不要直接覆盖该目录。
然后运行补丁安装源中的“update”启动补丁升级向导完成补丁升级,升级的过程都比较类似,因此下面只是以升级到“WAS ND V6.0.2”为例,请参考相关画面最终完成WAS所有补丁的升级工作。
一般如果没有特别要求,可以将Application直接部署在server1上即可,这样可以避免多server的情况,因为每个server都是独立的一个实例,运行在单独的JVM环境中,需要占用较多的资源,而且采用多server模式需要手工各自启动所需要的server,不过多server模式可以较好的隔离每个server的故障,一般假如没有使用ND的话不建议采用多server模式。至于Application的详细部署过程一般在业务应用系统的安装手册中会有包含,下面只是提供相关操作的简单截图(注意在“模块映射到服务器”步骤中如果有单独的Web服务器那么必须选择,否则生成的插件配置文件将无法转发请求,设置JDBC驱动时需要注意选择作用域到具体部署该应用的那台server上,而且驱动文件需要选择在作用域的那台server上的文件),需要在这里补充的是,如果需要手工修改相关配置文件,那么请停止所有进程后再进行修改,并且注意如果有安装ND的,那么需要注意查找整个$WS_HOME目录,将属于该Application的所有同名文件都进行修改,否则有时候会因为修改的文件是属于$BASE_HOME目录下的,重新启动所有进程后WAS会自动将$ND_HOME目录下的同名文件同步到$BASE_HOME目录,导致修改的内容被重新恢复,而且如果计划使用ND的,那么建议将BASE加入ND后再通过ND的主控台进行Application的部署。如果通过主控台修改或配置相关内容,一般建议保存并退出主控台后重新启动所有内容(例如数据源的配置),这样相关内容才会生效。
另外,对于虚拟主机、服务器和应用等信息进行调整后,需要通过主控台重新执行更新“Web服务器插件配置文件”功能(即plugin-cfg.xml文件,该文件是Web服务器插件转发Web请求需要使用的)。同时,如果Web服务器和APP服务器物理上不是在同一台机器,那么还需要将该文件手工同步到各个Web服务器上(该插件配置文件的具体存放位置请以httpd.conf中指定的路径为准),并且需要重新启动Web服务器进程才生效(当然ND管理单元和BASE节点也需要重新启动)。至于虚拟主机的主机别名和server的HTTP传输端口方面需要注意的是,虚拟主机中主机别名所指定的端口只要和具体所对应的server中Web容器的HTTP传输端口一一对应即可,调整的时候要注意两者必须同步更改,如果没有安装IHS,而又要接收80默认端口的请求,那么可以在该server中Web容器的HTTP传输中增加80端口(需要检查80端口是否已经被占用),并且检查相应虚拟主机的主机别名中是否有对应的端口解析即可。
WAS的完全卸载比较简单,一般可以直接去到$WS_HOME目录下所要删除内容的目录下找到“_uninst”子目录,然后运行该目录下的“uninstall”来删除,如果该目录只有jar文件,那么可以通过在命令行中运行“java –jar uninstall.jar”的方式来启动卸载向导。需要注意的是在卸载前请先停止所有相关的进程(可能包括IHS、BASE的nodeagent或server、ND的manager),软件卸载完毕后建议将物理目录都一并删除。如果需要卸载WAS各模块的补丁,那么可以重新启动前面介绍的补丁升级向导,然后在向导中选择卸载补丁即可,如果需要删除概要表那么可以通过下面的wasprofile.sh命令进行(具体说明如下图所示)。
图表 3‑1
管理控制台页面可与一系列资源类型通 用;例如,JDBC 数据源和 JMS 队列连接工厂。要查看此页面,根据资源的类型决定路径,但通常选择资源提供者的实例,然后选择资源类型的实例,并单击连接池。例如:单击资源 > JDBC 提供者 > JDBC_provider > 数据源 > data_source > 连接池。
指定时间间隔(以秒为单位),这个时间间隔过后连接请求超时并抛出 ConnectionWaitTimeoutException。连接超时值表明空闲池中没有可用连接或无法创建新连接(通常这是因为特定连接池中的连接数达到了最大值)时,请求连接所等待的秒数。
例如,如果连接超时设置为300,并且最大连接数都在使用,则池管理器等待 300 秒以使物理连接可供使用。如果物理连接在这段时间内不可用,则池管理器将产生 ConnectionWaitTimeout 异常。通常,重试getConnection() 方法没有用;如果需要更长的等待时间,您应该增加连接超时设置值。如果应用程序捕捉到 ConnectionWaitTimeout 异常,那么管理员应该查看需要的应用程序连接池用法,并相应地调整连接池和数据库。
如果连接超时设置为 0,则在连接变为可用之前,只要需要池管理器将一直等下去。此情况发生在应用程序完成事务并将连接返回到池的时候,或发生在连接数降到最大连接值之下(允许创建新的物理连接)的时候。
如果最大连接数设置为 0(允许无限多个物理连接数),则将忽略连接超时值。
指定您可以在此池中创建的最大物理连接数。这些是到后端资源的物理连接。一旦达到此数,就不再创建新的物理连接,并且在当前使用的物理连接返回给池或产生ConnectionWaitTimeout 异常之前,请求者将一直等下去。
例如,如果最大连接数的值设置为 5,并已使用了 5 个物理连接,则池管理器等待连接超时中指定的时间,直至物理连接为空闲。
如果最大连接数设置为 0,则允许连接池无限制地增长。这也有导致连接超时值被忽略的副作用。
如果多个单机应用程序服务器使用同一数据源,则每个应用程序服务器有一个池。如果使用克隆,则对于每个克隆,存在一个数据池。配置数据库最大连接数时,了解数据池的个数很重要。
可使用 TivoliPerformance Viewer 查找池中最优连接数。如果并发等待者的数目大于 0,但是 CPU 负载未接近 100%,则考虑增加连接池大小。如果使用百分比值一直低于正常工作负载,则考虑减少池中的连接数。
数据类型:整型;缺省值:10;范围:0 到最大整数。
指定要保持的最小物理连接数。
如果连接池的大小处于最小连接池大小或比它还小,则未使用超时线程不废弃物理连接。但是,池不会只为了确保维持最小连接池大小而创建连接。同样,如果您设置时效超时值,则废弃时效到期的连接,而无论最小池大小设置是什么。。
数据类型:整型;缺省值: 1;范围:0 到最大整数;
指定运行池维护线程之间的时间间隔(以秒为单位)。
例 如,如果“收集时间”设置为 60,则池维护线程每 60 秒运行一次。收集时间时间间隔影响未使用超时和时效超时设置的准确度。时间间隔越小,准确度越大。如果启用了池维护线程,则您应该将“收集时间”值设置为小于“未使用超时”和“时效超时”的值。当池维护线程运行时,它废弃所有未使用的时间长于“未使用超时”中指定的时间值的连接,直到它到达最小连接数中指 定的连接数为止。池维护线程还废弃所有活动时间长于“时效超时”中指定的时间值的连接。
收集时间间隔还影响性能。更短的时间间隔意味着池维护线程将更频繁的运行并降低性能。
要 禁用池维护线程,“收集时间”设置为 0,或“未使用超时”和“时效超时”都设置为 0。禁用池维护线程的建议方法是将“收集时间”设置为 0,在这种情况下,将忽略“未使用超时”和“时效超时”。但是,如果“未使用超时”和“时效超时”都设置为 0,则池维护线程将运行,但是仅废弃由于非零超时值引起的超时的物理连接。
数据类型:整型;单位:秒;缺省值:180;范围:0 到最大整数。
指定废弃未使用的或空闲连接后的时间间隔,以秒为单位。
为 了优化性能,设置“未使用超时”值高于“收集超时”值。如果当前连接数超过最小连接数设置,则仅废弃未使用的物理连接。例如,如果未使用超时值设置为 120,并且启用池维护线程(收集时间不是 0),则将废弃两分钟没有使用的任何物理连接。注意,这个超时和性能的准确度都受到“收集时间”值的影响。请参阅“收集时间”以获取更多信息。
数据类型:整型;单位:秒;缺省值:1800;范围:0 到最大整数。
指定废弃物理连接前的时间间隔(以秒为单位)。
将 时效超时设置为 0 支持活动的物理连接无限制地保留在池中。为了优化性能,设置“时效超时”值高于“收集超时”值。例如,如果“时效超时”设置为 1200,并且“收集时间”不是 0,则从池中废弃已经存在 1200 秒(20 分钟)的所有物理连接。注意,这个超时和性能的准确度都受到“收集时间”值的影响。请参阅“收集时间”以获取更多信息。
数据类型:整型;单位:秒;缺省值:0;范围:0 到最大整数。