优化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. JAVA并发,CyclicBarrier

    CyclicBarrier 翻译过来叫循环栅栏.循环障碍什么的(还是有点别扭的.所以还是别翻译了,只可意会不可言传啊).它主要的方法就是一个:await().await() 方法没被调用一次,计数便会 ...

  2. 在PADS LAYOUT中如何隐藏不需要的鼠线?

    如下图示,将net GPR_0的鼠线隐藏. 鼠标右键,选择网络----选择你要隐藏的网络------右键选择view nets----点击对话框右边View List里你所选的网络-----在右下角t ...

  3. c++ 静态多态与动态多态

    多态polymorphism是指具有多种形态的情况,它能根据单一的标记关联不同的行为.多态是面向对象程序设计的基础.在面向对象程序设计中的多态是一种运行时的多态.C++中有两种多态,称为动多态(运行时 ...

  4. Checking Network Configuration requirements Failed

    安装oracle执行检查,出现 Checking Network Configuration requirements ... Check complete. The overall result o ...

  5. 在XAML代码中为节点树安装事件监听器

    通过以下的演示样例代码,能够发现,我们能为随意的节点指定要监听的路由事件,而这个路由事件本身和这个元素可能根本就没有关系. <Window x:Class="Demo002.MainW ...

  6. javascript的函数相关属性和方法

    作为一名前端初学者,应该坚持每天去学习,去总结 ,去复习,去接触更新鲜的事物.但是这段时间很浮躁,虽说也是在一直学习,自己能吸收的少之又少.今日在这突然冒出来,实感惭愧. 1.函数名.name 获得函 ...

  7. ##DAY2 UILabel、UITextField、UIButton、UIImageView、UISlider

    ##DAY2 UILabel.UITextField.UIButton.UIImageView.UISlider #pragma mark ———————UILabel——————————— UILa ...

  8. Hibernate学习之hibernate状态

    hibernate有三种状态,transient(瞬时状态),persistent(持久化状态)以及detached(离线状态),瞬时状态就是刚new出来一个对象,还没有被保存到数据库中,持久化状态就 ...

  9. openGL 旋转的图形 矩阵操作

    #include <windows.h> #ifdef __APPLE__ #include <GLUT/glut.h> #else #include <GL/glut. ...

  10. Android 开发笔记“Eclipse 调试和快捷键”

    原文地址:http://blog.sina.com.cn/s/blog_5cf876340100aswr.html Eclipse 调试器和 Debug 视图 Eclipse SDK 是针对 Java ...