优化WebSphere

WebSphere里的profile刚配完,一般默认的heapsize即Xms与Xmx值只有256mb,而IBM WAS是几个J2EE服务器中最吃内存的机器,在布署一些EAR应用时,如果你的EAR中使用的lib即jar files较多,加载时往往会超出256mb的限制,如果你的WAS在安装完后不进行适当的优化就用来布署应用,很快就会成死机状,然后在相应的profile的目录中会留下一堆的heapdump即内存out of memory并造成了was档机后留下的dump文件。

因此在装完WAS配完profile后,请先进行适当的优化。

修改系统打开文件数(windows系统忽略)

如果你的机器为Linux/Unix,请:

调整Linux/Unix系统允许打开的最大文件数,系统默认一般为1024。

我们可以执行ulimit -n可查看这个数值。

通过vi /etc/security/limits.conf加入以下两行:

* soft nofile 300000

* hard nofile 300000

重新系统后通过ulimit -a可以查看结果

优化数据库连接池

更改Web容器线程池大小

该参数在管理控制台里的“服务器→应用程序服务器→server1→线程池”的“WebContainer”中进行设置,将“最大大小”的默认值50改成40,“最小大小”的默认值10改成40。逐一对每个成员做相应的修改。

不要勾选“允许线程分配超过最大线程大小”。

更改会话超时和启用servlet高速缓存

该参数在管理控制台里的“服务器→应用程序服务器→server1→会话管理”的“会话超时”中进行设置,将默认的30改成15;在“服务器→应用程序服务器→server1→Web容器设置→Web容器”。逐一对每个成员做相应的修改。

记得Web容器里勾选“启用servlet高速缓存”。

更改JVM参 数

即修改相应的heap size与添加一些JVM调优参数

该参数在管理控制台里的“服务器→应用程序服务器→server1→进程定义→Java虚拟机”里定义

注意:

这边的通用JVM参数就是IBM的jvm优化参数了,因为这个是IBM JDK,和ORACLE-SUN的JDK不一样的。

IBM JDK的JVM常用参数

ü   -Xquickstart

此设置影响 IBM JVM 使用较低优化级别来编译类方法的方式,这将提高服务器启动速度,但会使运行时性能下降。缺省情况下,如果未指定此参数,IBM JVM 最初将使用较高的初始优化级别来执行编译。此设置能够提高运行时性能,但会减慢服务器启动速度。

缺省值:

高初始编译器优化级别

建议值:

高初始编译器优化级别

用法:

-Xquickstart 可以加快服务器启动速度。

ü   -server

基于 Sun 的 Hotspot 技术的 JVM 最初使用低优化级别来编译类方法。这些 JVM 使用简单编译器和能够进行优化的 JIT 编译器。通常情况下,使用简单 JIT 编译器。然而,可以通过设置此选项来使用能够执行优化的编译器。此更改将显著提高服务器的性能,但使用能够执行优化的编译器时,服务器的预备时间将会较 长。

缺省值:

简单编译器

建议值:

能够执行优化的编译器

用法:

-server 启用能够执行优化的编译器。

注 意:

32位系统的JVM最大值不超过2048m,如果有充足的内存,可以多建立几个节点集群成员。

ü   -Xgcpolicy

将 gcpolicy 设置为 optthruput 会禁用并发标记。如果没有暂停时间问题(表现为应用程序响应时间不规律),那么应该使用此选项来实现最大吞吐量。将 gcpolicy 设置为 optavgpause 会使用缺省值来启用并发标记。此设置将减少由正常垃圾回收所引起的应用程序响应时间不规律情况。然而,此选项可能会降低整体吞吐量。

缺省值:

optthruput

建议值:

optthruput

用法:

Xgcpolicy:optthruput

ü   -Xnoclassgc

缺省情况下,当一个类没有任何活动实例时,JVM 就会从内存中卸装该类,但是这样会使性能下降。如果关闭类垃圾回收,就可以消除由于多次装入和卸装同一个类而造成的开销。

如果不再需要某个类,那么该类在堆中所占用的空间通常将用于创建新对象。但是,如果应用程序通过创建类的新实例来处理请求,并且该应用程序的请求是 随机出现的,那么可能会发生以下情况:先前请求者完成后,正常的类垃圾回收将通过释放这个类占用的堆空间来清除这个类,但当下一个请求出现时,又必须将这 个类重新实例化。在这种情况下,您可能想使用此选项来禁用类垃圾回收。

缺省值:

启用类垃圾回收

建议值:

禁用类垃圾回收

用法:

Xnoclassgc 禁用类垃圾回收

下面是我本机上的一个设置,供参考:

-Xgcpolicy:gencon–Xnoclassgc

更改ORB服务

进入管理控制台里的“服务器→应用程序服务器→server1→ORB服务”,勾选“按引用传递”;线程池设置则选择“使用与线程池管理器相关联的 ORB.thread.pool 设置(建议)。”,点击“ORB.thread.pool”,修改“最小大小”的默认值10为40,“最大大小”的默认值50为40,不要勾选“允许线程 分配超过最大线程大小”。逐一对每个成员做相应的修改。

去除应用程序的类重新装入选项

进入管理控制台里的“应用程序→企业应用程序”,点击某一应用程序进入,点击“Web模块的 JSP 重新装入选项”,将“JSP启用类重新装入”的勾去掉。

WebSphere优化的更多相关文章

  1. Websphere优化 (四个方面)举例

    Websphere优化 一.简单介绍 环境 名称 版本号 server操作系统 Centos 5.6 应用server操作系统 Windows 7 Websphere版本号 WAS 7.0 数据库 O ...

  2. websphere设置企业应用使用的jvm最大最小内存

    websphere设置企业应用使用的jvm最大最小内存 设置jvm 内存的最大最小值.打开was管理控制台  点击应用程序服务器-----server1  点击java和进程管理前面的加号  点击进程 ...

  3. WebSphere性能优化的几个方法

    1.更改http server的配置文件参数KeepAlive.     原因:这个值说明是否保持客户与HTTP SERVER的连接,如果设置为ON,则请求数到达MaxKeepAliveRequest ...

  4. WebSphere Studio Application Developer 5.0 优化设置

    公司有一个项目需要用到WebSphere Studio Application Developer 5.0 的开发环境,这个环境比较老,而且只能用JDK1.4. 项目开发的时候 总是报错: JVM t ...

  5. MyEclipse使用前优化与配置

    全局优化 1 设置默认编码方式 首选项>  General > Workspace >  GBK改成UTF-8 2 设置默认文件默认打开方式 首选项>  General > ...

  6. 基于Linux的WebSphere性能调优与故障诊断

    一.关于was数据源等问题的配置 (1)关于was数据源连接池的最大.最小配置多大合适?怎样去计算? (2)关于JVM的配置,64位系统,64位WAS,最值小和最大配置多大最优?怎样去计算? (3)应 ...

  7. Myeclipse10下载,安装,破解,插件,优化介绍

    一.Myeclipse10下载与破解 Genuitec 公司发布了MyEclipse 10,一款Genuitec旗下的商业化Eclipse集成开发工具的升级版本.MyEclipse 10基于Eclip ...

  8. 【J2EE性能分析篇】JVM参数对J2EE性能优化的影响

    一切J2EE应用都是基于JVM的,那么对于JVM的设置和监控,成为J2EE应用程序性能分析和性能优化的必然手段.今天Sincky和大家交流该话题.这里以Tomcat环境为例,其它WEB服务器如Jbos ...

  9. 高版本myeclipse破解以及优化

    1.破解图 破解myeclipse但是在默认安装目录没有发现common文件夹,该怎么办? 打开myeclipse:  Myclipse-->Installation Summary...,   ...

随机推荐

  1. BootstrapTable+KnockoutJS

    BootstrapTable+KnockoutJS实现增删改查解决方案(三):两个Viewmodel搞定增删改查   前言:之前博主分享过knockoutJS和BootstrapTable的一些基础用 ...

  2. QListWidget的QComboBox下拉列表添加复选框及消息处理

    要在QComboBox下拉列表项中添加复选框,并进行消息处理,在网上搜索了很久没有找到太多有用的信息和实际的例子,但从中还是找到了一些提示性的资料,根据这些简短的介绍,最终实现了这个功能. QComb ...

  3. RedisService

    package com.sprucetec.bone.common.redis;import com.alibaba.fastjson.JSON;import org.springframework. ...

  4. passwordauthentication yes

    ssh ip disconnected:no supported authentication methods available(server sent:publickey,gssapi-keyex ...

  5. Cube Stacking(并差集深度+结点个数)

    Cube Stacking Time Limit: 2000MS   Memory Limit: 30000K Total Submissions: 21567   Accepted: 7554 Ca ...

  6. linux杂谈(十七):iscsi存储分离技术

    1.iscsi简单介绍 ​ ​iSCSI利用了TCP/IP的port 860 和 3260 作为沟通的渠道.透过两部计算机之间利用iSCSI的协议来交换SCSI命令,让计算机能够透过快速的局域网集线来 ...

  7. Hive索引

    1.        Hive索引概述 Hive的索引目的是提高Hive表指定列的查询速度. 没有索引时.类似'WHERE tab1.col1 = 10' 的查询.Hive会载入整张表或分区.然后处理全 ...

  8. 详解Objective-C中委托和协议

    Objective-C委托和协议本没有任何关系,协议如前所述,就是起到C++中纯虚类的作用,对于“委托”则和协议没有关系,只是我们经常利用协议还实现委托的机制,其实不用协议也完全可以实现委托. AD: ...

  9. linux之iptable

    转自:http://seanlook.com/2014/02/23/iptables-understand/ 一. netfilter与iptables Netfilter是由Rusty Russel ...

  10. 初步认识ExtJS

    最近因为项目,需要去学习ExtJS的相关内容. 现在对于ExtJS完全是小白一枚. 目前使用的是ExtJS4.2的版本,官网上现在最新版本是6的. 第一个方法:Ext.onReady() Ext.on ...