Weblogic调优
优化说明:
一、Weblogic服务程序设置:
1、设置JDK内存:
修改weblogic\user_projects\domains\base_domain\bin下的setDomainEnv.cmd文件:
修改前:
if"%JAVA_VENDOR%"=="Sun" (
set WLS_MEM_ARGS_64BIT=-Xms256m -Xmx512m
set WLS_MEM_ARGS_32BIT=-Xms256m -Xmx512m
) else (
set WLS_MEM_ARGS_64BIT=-Xms512m -Xmx512m
set WLS_MEM_ARGS_32BIT=-Xms512m -Xmx512m
)
setMEM_PERM_SIZE_32BIT=-XX:PermSize=48m
setMEM_MAX_PERM_SIZE_32BIT=-XX:MaxPermSize=128m
修改后:
if"%JAVA_VENDOR%"=="Sun" (
set WLS_MEM_ARGS_64BIT=-Xms512m –Xmx1024m
set WLS_MEM_ARGS_32BIT=-Xms512m –Xmx1024m
) else (
set WLS_MEM_ARGS_64BIT=-Xms1024m –Xmx1024m
set WLS_MEM_ARGS_32BIT=-Xms1024m –Xmx1024m
)
setMEM_PERM_SIZE_32BIT=-XX:PermSize=128m
setMEM_MAX_PERM_SIZE_32BIT=-XX:MaxPermSize=256m
说明:红色字体为修改的内容,具体修改值根据实际物理内存确定
· -Xmx3550m:设置JVM最大堆内存为3550M。
· -Xms3550m:设置JVM初始堆内存为3550M。此值可以设置与-Xmx相同,以避免每次JVM动态分配内存所浪费的时间。
· -XX:PermSize=256M:设置堆内存持久代初始值为256M。(貌似是Eclipse等IDE的初始化参数)
· -XX:MaxPermSize=512M:设置持久代最大值为512M。
32位操作JDK内存系统:最大可设置1.5G,如果设置过大,会导致服务无法启动
64位操作JDK内存系统:最大设置为物理内存的60~80%
2、设置线程数:
修改weblogic\user_projects\domains\base_domain\bin下的setDomainEnv.cmd中在JAVA_OPTIONS中添加如下:
set JAVA_OPTIONS=%JAVA_OPTIONS%-Dweblogic.threadpool.MinPoolSize=2000
set JAVA_OPTIONS=%JAVA_OPTIONS%-Dweblogic.threadpool.MaxPoolSize=4000
说明:
JDK5.0以后每个线程栈大小为1M,但是操作系统对一个进程内的线程数还是有限制的,不能无限生成。32位操作系统根据JVM最大堆内存设置;64位操作系统经验值在3000~5000左右。
3、Weblogic数据库连接池连接数设置:
受Oracle数据库连接数的影响,可以参照同一时间连接数据库的用户数量,进行设置,数据库的最大连接数不能小于高峰时期同一时间连接用户的数量。点击数据源,进入后选择连接池:
初始容量:20
最大容量:50
容量增长:5
说明:
设置前得设置数据库的最大并发线程数(下面有介绍Oracle数据库线程数设置方法),因为weblogic节点的连接池最大连接数之和不能大于数据库的最大线程数。
· 初始容量:要在创建连接池时创建的物理连接数。如果无法创建这一数量的连接,创建此连接池的操作将会失败。此连接数也是连接池将保持的最小可用物理连接数。
· 最大容量:此连接池可容纳的最大物理连接数。
· 容量增长:将新连接添加到连接池时创建的连接数。不再有可用的物理连接来满足连接请求时,WebLogic Server 会创建该数量的附加物理连接并将它们添加到连接池中。MBean 属性 (不适用于应用程序模块):JDBCConnectionPoolParamsBean.CapacityIncrement。
4、Weblogic的服务设置[配置\优化]:
接受积压:300
登录超时:5000
说明:
· 接受积压:对于此服务器的常规和 SSL 端口,应该允许的新 TCP 连接请求的积压数量。将积压设置为 0 可以防止此服务器接受某些操作系统上的所有传入连接。MBean 属性:ServerMBean.AcceptBacklog。最小值:0
· 登录超时:此服务器的默认常规 (非 SSL) 监听端口的登录超时。这是允许建立新连接的最长时间。如果值为 0,表示无最大值。MBean 属性:ServerMBean.LoginTimeoutMillis最小值:0。最大值:100000。安全值:5000
二、Windows服务器设置:
1、修改最高端口号和TCP/IP释放连接时间:
在注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlset\Services\Tcpip\Parameters下加入新建值:
MaxUserPort,(DWORD值)十进制,65534
TcpTimedWaitDelay,(DWORD值)十进制,30
说明:同时使用这两个参数,集群时Windows服务器一定要设置。
· MaxUserPort:确定在应用程序从系统请求可用用户端口时,TCP/IP 可指定的最高端口号。缺省值:无。建议值:十进制 65534。
· TcpTimedWaitDelay:减少此条目的值允许 TCP/IP 更快地释放已关闭的连接,为新连接提供更多资源。如果运行的应用程序需要快速释放和创建新连接,而且由于 TIME_WAIT 中存在很多连接,导致低吞吐量,则调整此参数。缺省值:240,它将等待时间设置为 240 秒(4 分钟)。 建议值:设置为 30 秒。停止并重新启动系统。
三、Oracle数据库设置:
1、Oracle线程数设置:
通过设置以下语句查询和设置Oracle的线程数:
--查询最大线程连接数 :
show parameter processes
--更改线程连接数 :
alter system set processes=500 scope=spfile;
设置完成后重启数据库。启动后通过查询最大线程连接数(showparameter processes)查看是否设置正确并生效。
说明:默认是150个,这个量并非越大越好,需要根据硬件性能来设置。
优化实例:
一、Weblogic10.3_Windows集群布署
这是以两台装有Window2003—64bit的8核CPU、8G内存的服务器做的集群布署,用的都是Weblogic10.3和jdk-6u23-windows-x64。其中一台机器安装的管理服务和受管理服务,另外一台安装的代理服务和受管理服务。
1、机器配置:
|
序号 |
硬件型号 |
安装软件 |
IP |
用途说明 |
|
1 |
HP DL380G5 PC服务器 |
WIN2003-64位操作系统:8CPU、8G内存 Weblogic10.3平台, JDK:sun23-64bit |
192.168.0.303 |
Weblogic应用服务器 |
|
2 |
HP DL380G5 PC服务器 |
WIN2003-64位操作系统:8CPU、8G内存 Weblogic10.3平台, JDK:sun23-64bit |
192.168.0.307 |
Weblogic应用服务器 |
|
3 |
IBM SyStem P55A AIX |
UNIX操作系统 ORACLE10G数据库 |
192.168.0.35 |
数据存储服务器 |
|
4 |
H3C S1024R 交换机 |
|||
|
5 |
DELL OPTIPLEX 760 PC机 |
IE6.0 LoadRunner 8.1 |
192.168.0.205 |
测试工作站 |
2、Weblogic优化设置:
|
服务器类型 |
系统软件 |
参数类型 |
参数值 |
备注 |
|
数据库服务器 |
Oracle |
最大连接数 |
500 |
默认值150 |
|
应用服务器 |
Windows |
注册表修改 |
最大用户数:20000 |
|
|
TCP延迟:30S |
||||
|
Weblogic |
数据库连接池 |
初始连接数:20 |
默认:1 |
|
|
最大连接数:50 |
默认:15 |
|||
|
步长:5 |
默认:1 |
|||
|
积压数 |
300 |
采用默认值 |
||
|
登录超时时间 |
5000mS |
采用默认值 |
||
|
JDK内存设置 |
最小内存:2048M |
默认为256M~512M |
||
|
最大内存:2048M |
二、Weblogic10.3_Windows单机布署
这是以一台装有Window2003—64bit的8核CPU、8G内存的服务器做的Weblogic布署,用的是Weblogic10.3和jdk-6u23-windows-x64。
1、机器配置:
|
序号 |
硬件型号 |
安装软件 |
IP |
用途说明 |
|
1. |
HP DL380G5 PC服务器 |
WIN2003-64位操作系统:8CPU、8G内存 Weblogic10平台, JDK:sun23-64bit |
192.168.0.302 |
Weblogic应用服务器 |
|
2. |
IBM SyStem P55A AIX |
UNIX操作系统 ORACLE10G数据库 |
192.168.0.35 |
数据存储服务器 |
|
3. |
H3C S1024R 交换机 |
|||
|
4. |
DELL OPTIPLEX 760 PC机 |
IE6.0 LoadRunner 8.1 |
192.168.0.205 |
测试工作站 |
2、Weblogic优化设置:
|
服务器类型 |
系统软件 |
参数类型 |
参数值 |
备注 |
|
数据库服务器 |
Oracle |
最大连接数 |
500 |
默认值150 |
|
应用服务器 |
Windows |
注册表修改 |
最大用户数:20000 |
|
|
TCP延迟:30S |
||||
|
Weblogic |
数据库连接池 |
初始连接数:50 |
默认:1 |
|
|
最大连接数:100 |
默认:15 |
|||
|
步长:5 |
默认:1 |
|||
|
积压数 |
300 |
默认 |
||
|
登录超时时间 |
5000mS |
默认 |
||
|
JDK内存设置 |
最小内存:3072M |
默认为256M~512M |
||
|
最大内存:4096M |
||||
|
线程数 |
最小线程:2500 |
默认没有参数 |
||
|
最大线程:5000 |
Weblogic调优的更多相关文章
- 【WebLogic】weblogic调优
版权声明:本文为博主原创文章(原文:blog.csdn.net/clark_xu 徐长亮的专栏),未经博主同意不得转载. https://blog.csdn.net/u011538954/articl ...
- weblogic性能调优参考
1.weblogic内存的调优 2.weblogic性能调优 各个方面比较全内容较多 3.记录一次weblogic 11g压力测试性能调优过程 经调优后,具体java启动参数如下: /app/webl ...
- 关于Weblogic 10.3.1集群及调优经历
一. 集群 ·集群易于管理.灵活的负载平衡.较强的安全机制 ·配置前的规划 操作系统 硬件配置 角色 windows IP: 192.168.1.101:7001 AdminServer windo ...
- BEA WebLogic平台下J2EE调优攻略--转载
BEA WebLogic平台下J2EE调优攻略 2008-06-25 作者:周海根 出处:网络 前 言 随着近来J2EE软件广泛地应用于各行各业,系统调优也越来越引起软件开发者和应用服务器提供 ...
- weblogic性能调优
1.设置java参数: a) 编辑Weblogic Server启动脚本文件: /user_projects/domains/Domain_jgbs/bin/startWebLogic.sh /use ...
- 【转】tomcat性能调优
一.总结前一天的学习 从"第三天"的性能测试一节中,我们得知了决定性能测试的几个重要指标,它们是: ü 吞吐量 ü Responsetime ü Cpuload ü ...
- JVM的垃圾回收机制详解和调优
JVM的垃圾回收机制详解和调优 gc即垃圾收集机制是指jvm用于释放那些不再使用的对象所占用的内存.java语言并不要求jvm有gc,也没有规定gc如何工作.不过常用的jvm都有gc,而且大多数gc都 ...
- linux+jre+apache+mysql+tomcat调优
一.不再为Apache进程淤积.耗尽内存而困扰 0. /etc/my.cnf,在mysqld那一段加上如下一行: log-slow-queries=queries-slow.log 重启MySQL 酌 ...
- JVM 性能调优实战之:一次系统性能瓶颈的寻找过程
玩过性能优化的朋友都清楚,性能优化的关键并不在于怎么进行优化,而在于怎么找到当前系统的性能瓶颈.性能优化分为好几个层次,比如系统层次.算法层次.代码层次…JVM 的性能优化被认为是底层优化,门槛较高, ...
随机推荐
- Python爬虫环境常用库安装
1:urllib urllib.request这两个库是python自带的库,不需要重新安装,在python中输入如下代码: import urllibimport urllib.requestres ...
- 看外设(uart/spis/i2c/i2s)模块设计
1.先看外设接口协议. 2.看具体设计文档. 3.仿真case.
- PAT Basic 1028
1028 人口普查 某城镇进行人口普查,得到了全体居民的生日.现请你写个程序,找出镇上最年长和最年轻的人. 这里确保每个输入的日期都是合法的,但不一定是合理的——假设已知镇上没有超过200岁的老人,而 ...
- Hive中文注释乱码解决方案(2)
本文来自网易云社区 作者:王潘安 执行阶段 launchTask 回到Driver类的runInternal方法,看以下执行过程.在runInternal方法中,执行过程调用了execute方法 ...
- Leetcode 330.按要求补齐数组
按要求补齐数组 给定一个已排序的正整数数组 nums,和一个正整数 n .从 [1, n] 区间内选取任意个数字补充到 nums 中,使得 [1, n] 区间内的任何数字都可以用 nums 中某几个数 ...
- BZOJ 1829 [Usaco2010 Mar]starc星际争霸 ——半平面交
发现最终的结果只和$s1$,$s2$,$s3$之间的比例有关. 所以直接令$s3=1$ 然后就变成了两个变量,然后求一次半平面交. 对于每一个询问所属的直线,看看半平面在它的那一侧,或者相交就可以判断 ...
- ajax同步导致ajax上面的代码不执行?
js代码:环境:IE11要求:点击一个按钮后,页面xxx的地方立即显示"开始处理...",直到ajax处理结束后,xxx内容才更新为新的处理结果:点击事件执行代码如下:xxx.in ...
- JS return false 与 return true
在大多数情况下,为事件处理函数返回false,可以防止默认的事件行为.例如,默认情况下点击一个<a>元素,页面会跳转到该元素href属性指定的页. Return False 就相当于终止符 ...
- BSGS算法 (小步大步 Baby Step Gaint Step)
当你要求满足: $$ A^x \equiv B \ (\bmod \ P) $$ 的最小非负整数 x (gcd(A,P)==1)就可以用到 BSGS 了 设 $ m=\sqrt{P} $ 向上取整 处 ...
- ElasticSearch中Filter和Query的异同
如下例子,查找性别是女,所在的州是PA,过滤条件是年龄是39岁,balance大于等于10000的文档: { "query": { "bool": { &quo ...