WebLogic Server 关键优化指标
昨天给客户做巡检,又将整个WebLogic Server的优化过程走了一遍,记录下来给大家参考。
1.JVM优化
查看
$ps –ef | grep java /opt/java1.5/bin/java -server -Xms256m -Xmx512m -XX:PermSize=16M -XX:NewSize=128m -XX:MaxPermSize=256m … |
参数设置原则
- 保持简单性
- 提供基本参数(-X 参数)-Xms、-Xmx、-Xmn
- 选择一个 GC/性能优先级,权衡吞吐量与暂停时间
- 其余参数大多使用默认值,(让人体工程机制计算正确值,仅当默认值无效时调优)
- 年轻代的大小将决定
- 次要 GC 的频率
- 次要 GC 收回的对象数量
- 年老代大小
- 应达到应用程序稳定状态的 实时数据大小
- 尝试最大限度减小主要 GC 的频率
- JVM 内存占用不应超过物理内存
- 最大达到 RAM 的 80-90%(为操作系统留出空间)
- 经验法则:应尽量增加年轻代收回的对象。尽量增加完整 GC 频繁
- Set –Xmx = –Xms
- 防止堆大小 (Full GC) 从 Xms 增大到 Xmx
- 性能更优
- 并非总是生产可用性的最佳选择(OOME 更合适使用内存交换)
- 持久代大小
- -XX:PermSize = -XX:MaxPermSize
- 持久代占用空间大小难以预测
- 设置足够高以防止 PermGen OOME
- 将 -XX:NewSize 设置为 -XX:MaxNewSize
- 优先使用 –Xmn
设置
一般来说在64位系统中开到4G-8G,如果有多租户的规划,可以开到更大,修改setDomainEnv.sh
也可以根据受管Server的名字设置不同的JVM,具体设置在USER_MEM_ARGS参数前
############# change jvm ######################### if [ "${SERVER_NAME}" = "" ] ; then SERVER_NAME="AdminServer" export SERVER_NAME fi if [ "${SERVER_NAME}" = "AdminServer" ] ; then USER_MEM_ARGS="-Xms512m -Xmx1024m -XX:MaxPermSize=512m" else USER_MEM_ARGS="-Xms4g -Xmx4g -XX:MaxPermSize=1024m" fi ############# e n d ######################### |
JVM GC文件输出设置
如果需要分析JVM GC日志,需要在启动时加入参数
Sun:-verbose:gc -XX:+PrintGCDetails -Xloggc:<filename> IBM:-Xverbosegc:file=filename 或 -Xverbosegclog:filename HP :-Xverbosegc=filename Oracle JRockit:-Xverbose:memory -XverboseLog:filename |
随后可以通过GCViewer进行脱机的日志查看。
2.关于线程
WebLogic Server在9以后引入了work manager机制,因此weblogic会自动对线程的数目进行优化,开发模式下初始线程数为15,生产模式下初始线程数为25
JAVA_OPTIONS="${JAVA_OPTIONS} -Dweblogic.threadpool.MinPoolSize=100 -Dweblogic.threadpool.MaxPoolSize=1000" export JAVA_OPTIONS |
一般线程数建议设置成100-500之间,线程太多容易引起进程内部的线程切换.
3.Accept BackLog
服务器->配置->优化->接受积压:
4.Muxer优化
Muxer定位:在前端接入请求,然后转交执行队列
- Java Muxer
- Native Muxer
- Non-Blocking IO Muxer
5.JDBC优化
- 理想情况下,设置为最小值 = 最大值,以避免按需创建连接
- 如果 DB 连接数受限,请将最小值设置为处理普通负载所需的连接数,将最大值设置为处理峰值负载所需的连接数,并启用池收缩
- Active Connections High Count
- Waiting on Connection High Count
- Wait Seconds High Count
缓存主要设置语句的条数,缺省为10,建议调大,设置成300
- 如果某数据源的数据库不可用,那么此选项设置为默认值 0 时 WLS 将无法启动!
- 设置为非零值可让服务器顺利启动并定期重试创建连接池
- 与 Test Connections On Reserve 共同发挥作用
- 可显著减少连接测试查询
- 仅有利于涉及多种资源的 XA 事务
- Last Logging Resource(非 XA)必须是数据库
WebLogic Server 关键优化指标的更多相关文章
- SQL SERVER性能优化综述
SQL SERVER性能优化综述 一个系统的性能的提高,不单单是试运行或者维护阶段的性能调优的任务,也不单单是开发阶段的事情,而是在整个软件生命周期都需要注意,进行有效工作才能达到的.所以我希望按照软 ...
- SQL SERVER全面优化-------写出好语句是习惯
前几篇文章已经从整体提供了诊断数据库的各个方面问题的基本思路...也许对你很有用,也许你觉得离自己太远.那么今天我们从语句的一些优化写法及一些简单优化方法做一个介绍.这对于很多开发人员来说还是很有用的 ...
- SQL SERVER全面优化
今天我们从语句的一些优化写法及一些简单优化方法做一个介绍.这对于很多开发人员来说还是很有用的!为了方便阅读给出前文链接: SQL SERVER全面优化-------Expert for SQL Ser ...
- 关于Weblogic Server(介绍)
Weblogic, 美国Oracle公司名下产品,是一个基于 J2EE 架构.可扩展的应用服务器. 本文档选取部分官方文档翻译 总览 支持多种类型的分布式应用 基于 SOA 应用的理想架构 完整实现 ...
- J2EE之WebLogic Server
WebLogic是用于开发.集成.部署和管理大型分布式Web应用. 网络应用和数据库应 用的Java应用server. 将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用 ...
- SQL Server 性能优化(一)——简介
原文:SQL Server 性能优化(一)--简介 一.性能优化的理由: 听起来有点多余,但是还是详细说一下: 1.节省成本:这里的成本不一定是钱,但是基本上可以变相认为是节省钱.性能上去了,本来要投 ...
- --BEA官方网站(http: //www.bea.com)甲骨文已完成对该公司的收购BEA Weblogic Server 7.0x应用服务器简明安 装、配置手册 1
====================简 介: BEA公司是业内著名的中间件产商,以Tuxedo及Weblogic闻名于世,而其基础件平台(infrastructure)Weblogic platf ...
- WebLogic Server
前几天,看了几集J2ee , 给我的感觉就是,看不懂!! 一点也不懂! 那怎么办呢? 听老师的,不管懂不懂,先看看再说.接下来,就开始了J2ee "艰苦"的历程.在J2ee中,经常 ...
- SQL SERVER全面优化-------Expert for SQL Server 诊断系列
现在很多用户被数据库的慢的问题所困扰,又苦于花钱请一个专业的DBA成本太高.软件维护人员对数据库的了解又不是那么深入,所以导致问题迟迟不能解决,或只能暂时解决不能得到根治.开发人员解决数据问题基本又是 ...
随机推荐
- js中typeof 与instanceof的区别
1.typeof 用来检测给定变量的数据类型,其返回的值是下列某个字符串: "undefined":变量未定义 "boolean":变量为布尔类型 " ...
- Flask 基础知识一
Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,对于Werkzeug本质是Socket服务端,其用于接收http请求并对请求进行预处理,然后 ...
- linux基础编程 套接字socket 完整的服务器端多线程socket程序【转】
转自:http://blog.csdn.net/ghostyu/article/details/7737203 此段程序来自我的一个项目中,稍微做了些修改,运行稳定,客户端程序比较简单所以未编写,可以 ...
- 关于EINTR错误的理解【转】
转自:http://www.xuebuyuan.com/1470645.html 最近在工作中遇到了EINTR错误,感到比较困惑,几番研究之后,颇有心得和收获,特记录如下,便于以后查询,也给有同样困惑 ...
- Bash Shell 下打开一个TCP / UDP SOCKET
Bash Shell 下打开一个TCP / UDP SOCKET http://jingyan.baidu.com/article/636f38bb6166c3d6b84610d1.html
- JavaScript的字符串详解
#转载请留言联系 字符串合并 + var str1="chi"; var str2="chung"; console.log(str1+str2) 输出:chi ...
- Vim常见配置与命令
本文引自http://www.acczy.net/?p=301,在自己这里放一个以后方便查看 1. 基本安装 安装Vim,Windows系统中的主目录(类似于Linux的Home)中建立vimfile ...
- 磁盘挂载MOUNT 445问题集
挂载磁盘mount -t cifs -o username="Administrator",password="123@qq" //192.168.100.4/ ...
- Java-事务管理
1.事务的概念: 事务指逻辑上的一组操作,组成这组操作的各个单元,要么全部成功,要么全部不成功. 2. 管理事务: 2.1. 数据库默认的事务 数据库默认支持事务的,但是数据库默认的事务是一条sql语 ...
- ACM竞赛常用头文件模板-备忘
备忘. #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> ...