《was使用及参数设置概要》由会员分享,可在线阅读,更多相关《was使用及参数设置概要(41页珍藏版)》请在金锄头文库上搜索。
1、WebSphere Application Server使用以及参数设置,IBM 中间件,基于传统 应用服务器,消息传送 服务器,基于Web 应用服务器,交易中间件 核心业务,CICS,消息中间件 系统通信,MQ,应用中间件 网上应用,WebSphere,WAS使用环境部署,登录控制台 创建虚拟主机 在管理控制台左侧展开“环境”菜单, 虚拟主机 新建,出现新建虚拟主机页面,新建虚拟主机,设置虚拟主机名称为“bos_host”,点击“应用”按钮,并保存到主配置。(一般在农行做项目,虚拟主机这步骤可以省略,可以直接用 default_host虚拟主机) 设置虚拟主机端口,依次点击链接“bass_h
2、ost”,“主机别名”,点击“新建”按钮,添加端口号80、9080、9081(这个根据你要建server确定你需要几个端口)如下图,WAS使用环境部署,创建集群 1. 在管理控制台左侧展开“服务器”菜单,点击“集群”,出现下图,点击“新建”填写集群名,集群名最好引用项目的名称,如bos_server。 2. 添加集群成员,集群成员就是通常我们说的server,这里注意是你的集群是几台机器集群,如两个两台机器做集群,需要选择节点,如在Node01上建2个成员, Node02建两成员。 3. 在集群拓扑下查看一下成员有没有,和我们预期建的是否一致。 4 .修改server端口,应用程序服务器 No
3、de01 N01S01 端口下进行修改,修改的端口建虚拟主机存在的端口,否则无法连接,修改端口如下图,WAS使用环境部署,WAS使用环境部署,四.建立数据资源 确定连接服务器上有没有sybase驱动,如:joconn3; 资源数据源,选择刚才建的集群,也可以在所有作用域下新建数据源; 点击新建输入数据源名字 JNDI 名称(注意这个JNDI名称要与应用程序中连接数据源的名称一致) 创建新的 JDBC 提供程序输入数据库类路径信息输入连接数据库的信息,如数据库服务器、端口 设置连接数据库的用户和密码如:JDBC 提供程序 数据源 定制属性 新建,输入user,依次建password 测试数据库,
4、查看数据源是否建成功。,WAS使用环境部署,五.发布应用程序 1.应用程序安装新程序输入要发布的程序输入下根文(根文如:http:/10.232.53.224/bos/services/PostProxy?wsdl,这个根文就是bos),一直点击下一步直到完成。注意的是,当多个集群的时候选择模块映射至服务器的时,选择应用程序要部署的服务器; 2.同步节点,系统管理节点全选点击同步节点即可。如提示节点 DM 无效,这个不用管; 3.启动应用程序, 应用程序企业应用程序选择程序,点击启动。 4.验证应用程序,输入URL地址。查看是否有相应; 5.卸载应用程序,先停止应用程序再去做卸载程序动作。,W
5、AS使用环境部署,WAS使用环境部署,当你遇到WAS控台无法打开,如何重新启动WAS,如下步骤: 1.在AppServer/bin下,./startManager.sh; 2.在/AppServer/profiles/Node01/bin下,./startNode.sh 3.在/AppServer/profiles/Node01/bin下,./startServer.sh server1; 4、ps -ef|grep java,查看was中java进程。 当然以上说的是在有权限的情况,没权限什么也不用说了。,WAS参数设置,应用程序已部署为了合理应用资源需要对WAS参数,也是确保能为最广泛的应
6、用程序提供开箱即用的性能改善,设置WAS参数,那么我们了解一些参数意思如下: 线程池:线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。WAS线程池使服务器组件能够复用线程而不是在运行时创建新线程。创建新线程通常是很耗费时间和资源的操作。 连接池:连接池是创建和管理一个物理连接的缓冲池,其中会保留一定数量创建的物理连接不关闭,当有客户端请求时,调用连接池,可以有效减少物理连接的创建次数,降低直连所带来的系统开销,缓解应用服务器压力,提高程序性能。,最大连接数:指当前连接池中允许创建的最大物理连接数,当到达指定值后,将不允许创建物理连接。和连接超时相对应,
7、当达到最大值后,连接请求将等待,直到池中有空闲连接为止,否则报连接超时错误。 最小连接数:指当前连接池要保留的最小物理连接,其决定未使用超时维护机制的下限,连接池的创建不是根据最小连接数而特意创建,而是根据用户请求而创建,系统会一直维护最小的连接数目。最小连接数使应用服务器保持一定数量的物理连接,利用应用服务器维护机制,合理分配服务器资源。当应用程序访问频繁,但访问人数少的情况下,最小连接数的合理配置,可以将有效的资源进行充分利用,满足特定应用需求。,WAS参数设置,WAS参数设置,设置Web Container的最大、最小并发用户 1.Web Container的最大并发用户,Web Con
8、tainer维护着一个线程池,用来处理接收到的jsp/servlet请求。 2.如何设置:在管理控制台中点击WebSphere Application Server server1 线程池 WebContainer(默认为10,50);经过多次实验发现WebContainer设置较小(3-5)会影响性能问题,比如TPS下降等,如果WebContainer设置较大时(200-2000),占用资源。因此根据观察的性能情况和应用情况输入合适的最小、最大参数值,设置方法如下图所示:,WAS参数设置,WAS参数设置,3.监视:执行场景时,可以通过WebSphere Application Server
9、性能监视和调整性能查看当前活动启动监视WebContainer,可以查看到WebContainer活动进程数大小,如下图所示:,WAS参数设置,4.结论: 从上图可表明ActiveCount并发活动线程数29,Was6.1能够使用相对较少的线程来扩展数千客户连接。这解释了图中平均只使用 29 个线程来服务来自 HTTP 负载驱动程序的 50 个并发客户机连接。根据此提供信息,可以参考减小线程池大小或加大线程池,应该通过仔细考虑来确定线程池的大小,包括预期的平均和峰值工作负载,WAS参数设置,二.设置连接池大小 1.每次当应用程序尝试访问后端库时(比如数据库),它都需要资源来创建、维持和释放到该
10、数据库的连接。为了缓解此过程对总体应用程序资源的压力,应用服务器允许您建立一个后端连接池,用于在应用服务器上共享应用程序。连接池将连接开销分散分布在若干用户请求中,以便保留应用程序资源供未来请求使用。调优连接池的目标是确保各线程都有一个数据库连接,并且请求不需要排队以等待访问数据库。,WAS参数设置,2.如何设置:资源 JDBC 数据源 使用的数据源名称 连接池属性,根据观察的性能情况和应用情况输入合适的最小、最大连接数。(默认为1,10)连接池设置大小操作如下图:,WAS参数设置,3.如何监视:如何合理设置最大或最小连接池参数值可以通WebSphere Application Server
11、性能监视和调整性能查看当前活动启动监视JDBC,可以查看到连接池的使用情况,如下图所示:,WAS参数设置,通上图可以看出poolSize池的大小47,而空闲池的大小20,说明有部分池没有使用。根据此值可以参考怎么设置数据库连接池的大小 4.结论:经过连接池最大或最少设置得出: 连接池的大小影响资源占用和性能情况,如连接池过小(1-5),会影响性能处理能力,TPS降低,并发一段时间出现掉用户情况,不能满足现场环境应用高负载压力测试,如连接池过大(600-2000),则会长期占用服务器利用资源,且根据不同场景交易会出现提示错误信息,比如“Could not open JDBC Connection
12、 for transaction; nested exception is java.sql.SQLException: JZ006: 捕获到 IO 例外:.SocketException: 打开的文件过多”等一些相关错误信息。,WAS参数设置,三.数据源语句缓存大小 1.解释:数据源语句缓存大小指定每次连接可以缓存的经过准备的JDBC 语句的数量。WebSphere Application Server 数据源将优化经过准备的语句和可调用的语句,它可以缓存未在活动连接中使用的语句。如果应用程序使用许多语句,则增加此参数有时可以改善应用程序性能 2.如何设置:数据源 bosdb WebSphe
13、re Application Server 数据源属性,可以设置语句高速缓存的大小,如下图所示,WAS参数设置,WAS参数设置,3.监视: 语句高速缓存大小调整是否合适,可以查看 PrepStmtCacheDiscardCount值是否为0,而PrepStmtCacheDiscardCount正表示由于缓存已满而被丢弃的语句的数量。所以当PrepStmtCacheDiscardCount值为0时,表明没有被丢弃的语句。上图设置的语句高速缓存大小是10,可以查看PrepStmtCacheDiscardCount值,如下图所示:,WAS参数设置,从图中可以看出被丢弃的语句的数量超过 2多万条,我们
14、再将语句高速缓存大小调整为50时,如下图所示:,WAS参数设置,四. JVM堆参数设置 1.设置堆的大小:JVM堆大小参数将直接影响垃圾收集行为。通过增加 JVM 堆大小,可以在出现分配故障并触发垃圾收集之前创建更多对象。这通常可以让应用程序增加各垃圾收集 (GC) 周期之间的间隔时间。遗憾的是,增加堆大小的一个缺点是查找和处理需要垃圾收集的对象所需的时间也会随之增加。因此,JVM 堆大小调优经常涉及确定垃圾收集之间的间隔时间与执行垃圾收集所需的暂停时间之间的平衡点。 2.如何设置堆的大小:通过WebSphere Application Server控制台设置,应用程序服务器 Server_n
15、ame 进程定义 Java 虚拟机,如下图,WAS参数设置,在图中设置512-1024, 那么一般情况下,均设置为512-1024,但是这个值也看情况而定,分析内存使用情况,如图可以勾选择“详细垃圾回收”,WAS参数设置,启用详细模式的 GC,JVM 在每次垃圾收集时都会打印输出有用的信息,比如堆中的空闲和已使用字节、垃圾收集之间的间隔以及暂停时间。这些信息将记录在 native_stderr.log 文件中。再通各种工具打开此文件进行分析,这里推荐使用GCCollector,这个工具在这里不细说,大家可以自己去研究。 3.如何监控:可以通WebSphere Application Serve
16、r 性能监视和调整性能查看当前活动启动监视JVM,可以查看内存空闲free趋势图,如果是一条直线,说明内存不释放,如图:,WAS参数设置,WAS参数设置,4.结论:经过了对JVM堆大设置从50-256、256-512、512-1024、1024-2048,验证了堆设置过小,会使得对象可分配空间变小,从而会频繁的使用垃圾收集机制来释放内存空间,而每次垃圾收集,都会耗用一定的系统资源。应此要通过试验和监控数据,堆设置过小时垃圾收集回收频繁。堆设置过大,会占用过多的内存,使内存资源耗尽,从而会频繁的进行IO操作来使用虚拟内存。 谈起内存大家都比较熟悉,而内存监控工具很多,比如JDK1.6自带的jvisualvma、JProfiler、jconsole等工具,大家可以试一下这些工具,在这里不对工具进行介绍,说一下设置jvm怎么连接内存监控工具,以便大家使用。,WAS参数设置,五.JVM设置连接Visual VM 1.解释: VisualVM 是Netbeans的profile子项目,已在JD