优化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. yii_CGridView_ajax_pagination_and_ajax_sort

    本文主要内容: 1, 正常情况下 CGridView 实现 Ajax 分页和排序的原理 2, 分页和排序无法Ajax的情况分析 3, 自定义分页(重写CLinkPager)后如何实现 Ajax 分页和 ...

  2. String、StringBuffer和StringBuild的区别

    public class Test1 { public static void stringReplace (String text) { text = text.replace('j','i') ; ...

  3. windows service 的创建 安装 调试 错误回发

    关于如何快速创建一个windows服务 1.在vs中创建windows服务 名称:你要写的服务名称 位置:创建服务所在的位置 点击确定 2.代码编写 3.添加安装程序 点击添加安装程序出现 分别右击设 ...

  4. Sliding Window Maximum

    (http://leetcode.com/2011/01/sliding-window-maximum.html) A long array A[] is given to you. There is ...

  5. 如何将 MFC ActiveX 控件标记为安全,脚本和初始化

    MSDN原文.ActiveX控件标记安全(可以不仅仅是MFC ActiveX) 概要 默认情况下,MFC ActiveX 控件未标记为对脚本编写是安全的和对初始化是安全的.控制运行在 Internet ...

  6. .NET中的IO操作基础介绍

    关于IO简介 .NET中的IO操作,经常需要调用一下几个类. clipboard[] .FileStream类 文件流类,负责大文件的拷贝,读写. .Path类 Path类中方法,基本都是对字符串(文 ...

  7. ASP.NET MVC Framework

    ASP.NET MVC Framework是微软在ASP.NET中所添加的一组类库,这组类库可以使用Model-View-Controller的设计模式来开发ASP.NET的应用程序.它与现有的ASP ...

  8. Laravel 单元测试

    前言 今天是第十三周周一,虽然接下来的时间会比较忙,比如各科的课设.考试.磨锤子.但是还是有种涅槃重生的感觉,昨晚的睡眠确实不怎么样,但是今天十分精神,已经想不起来多久没有这么早起了~让我累并快乐着吧 ...

  9. ERROR 1044 (42000): Access denied for user 'root'@'localhost' to database 'information_schema'

    在我想把备份的数据库导入到本地数据的时候,发生这个错误,我使用的工具是dbForge Studio for MySQL ERROR 1044 (42000): Access denied for us ...

  10. codeforces 609E. Minimum spanning tree for each edge 树链剖分

    题目链接 给一个n个节点m条边的树, 每条边有权值, 输出m个数, 每个数代表包含这条边的最小生成树的值. 先将最小生成树求出来, 把树边都标记. 然后对标记的边的两个端点, 我们add(u, v), ...