优化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. VS2015如何另存解决方案文件-修改解决方案sln文件的路径

    原文:VS2005如何另存解决方案文件-修改解决方案sln文件的路径 修改解决方案sln文件的路径 方法一:工具→选项→项目和解决方案,可设置项目的默认保存位置.方法二:"解决方案资源管理器 ...

  2. MyBatis使用DEMO及cache的使用心得

    下面是一个简单的MyBatis使用DEMO. 整体结构 整体代码大致如下: POM依赖 需要引用两个jar包,一个是mybatis,另一个是mysql-connector-java,如果是maven工 ...

  3. JavaEE Tutorials (14) - 用实体图创建获取计划

    14.1实体图基础185 14.1.1默认实体图186 14.1.2在持久化操作中使用实体图18614.2使用命名实体图187 14.2.1对实体类应用命名实体图注解187 14.2.2从命名实体图获 ...

  4. 有道翻译API

    轻奢侈品_百度百科 轻奢侈品 有道翻译API 有道翻译API申请成功 API key:72763558 keyfrom:lexus-studio

  5. 利用KVC实现无需协议的委托模式

    在<精通iOS开发>一书中看到的技巧.假设BIDTaskListController是一个列表,点击列表上的一项将会导航到BIDTaskDetailController,在BIDTaskD ...

  6. Nothing2

    重压下似乎找不到释放的出口. 拳套早已封存, 竹箫也非常久不去碰它, 如今预计已然吹不出心弦之曲, 围棋的造诣也退步到家了. 是不是仅仅有当思路电光石火, 当指尖快如闪电, 当键盘上舞动的手指跟上思想 ...

  7. DataSet - DataTable - DataRow 读取 xml 文件 + 搜索

    DataSet ds = XmlHelper.GetDataSetByXml(AppDomain.CurrentDomain.BaseDirectory + "/Config/ConfigN ...

  8. Java 网络编程(六) 使用无连接的数据报(UDP)进行通信

    连接地址:http://www.cnblogs.com/mengdd/archive/2013/03/10/2952673.html 使用无连接的数据报(UDP)进行通信 什么是Datagram? 数 ...

  9. [Swust OJ 360]--加分二叉树(区间dp)

    题目链接:http://acm.swust.edu.cn/problem/360/ Time limit(ms): 1000 Memory limit(kb): 65535   Description ...

  10. 一次搞懂 Assets Pipeline 转载自http://gogojimmy.net/2012/07/03/understand-assets-pipline/

    Assets Pipeline 是 Rails 3.1 一個重要的功能,一直並沒有很去了解其特性,但因為最近都在寫前端的東西在 assets pipeline 的東西上跌跌撞撞了不少次(尤其在 dep ...