查看: 16742|回复: 16

[原创] 一次weblogic调优的经过

[复制链接]
论坛徽章:
5
2008新春纪念徽章
日期:2008-02-13 12:43:032012新春纪念徽章
日期:2012-01-04 11:50:442013年新春福章
日期:2013-02-25 14:51:24技术图书徽章
日期:2014-03-31 10:50:45技术图书徽章
日期:2014-04-17 09:11:35
跳转到指定楼层
1#
发表于 2008-4-23 13:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
项目组反应数据库有问题,
检查发现sga还用的默认参数,缓冲区命中率很低。根据系统内存调整后,好像系统正常了。数据库调整就算是结束了
一天后,我再登这个数据库的时候,发现一个提示说线程已经超过限制,不允许再登录。然后我去修改了process到250,增加并发连接数。然后重启了数据库。当天没发生什么事情,第二天,发现250又被撑满了,这个时候,我就开始换衣中间件有问题,登入中间件那边看了下日志,一直报错,提示无法打开新的连接。一般来说,中间件连接数据库能开10个都算可以了。至少websphere是这样,weblogic应该差不多。然后修改了一下,调整了weblogic的连接池,修改最大连接到100.

1、        报错信息

<2008-4-22 上午04时33分18秒 CST> <Error> <WebLogicServer> <BEA-000337> <ExecuteT
hread: '1' for queue: 'weblogic.kernel.Default' has been busy for "102" seconds
working on the request "Http Request: /guestAction.jsp", which is more than the
configured time (StuckThreadMaxTime) of "60" seconds.>
<2008-4-22 上午04时33分18秒 CST> <Error> <WebLogicServer> <BEA-000337> <ExecuteT
hread: '7' for queue: 'weblogic.kernel.Default' has been busy for "178" seconds
working on the request "Http Request: /guestAction.jsp", which is more than the
configured time (StuckThreadMaxTime) of "60" seconds.>
<2008-4-22 上午04时34分18秒 CST> <Error> <WebLogicServer> <BEA-000337> <ExecuteT
hread: '0' for queue: 'weblogic.kernel.Default' has been busy for "111" seconds
working on the request "Http Request: /guestAction.jsp", which is more than the
configured time (StuckThreadMaxTime) of "60" seconds.>
<2008-4-22 上午04时34分18秒 CST> <Error> <WebLogicServer> <BEA-000337> <ExecuteT
hread: '1' for queue: 'weblogic.kernel.Default' has been busy for "162" seconds
working on the request "Http Request: /guestAction.jsp", which is more than the
configured time (StuckThreadMaxTime) of "60" seconds.>
<2008-4-22 上午04时35分18秒 CST> <Error> <WebLogicServer> <BEA-000337> <ExecuteT
hread: '0' for queue: 'weblogic.kernel.Default' has been busy for "171" seconds
working on the request "Http Request: /guestAction.jsp", which is more than the
configured time (StuckThreadMaxTime) of "60" seconds.>
<2008-4-22 上午04时35分18秒 CST> <Error> <WebLogicServer> <BEA-000337> <ExecuteT
hread: '12' for queue: 'weblogic.kernel.Default' has been busy for "111" seconds
working on the request "Http Request: /guestAction.jsp", which is more than the
configured time (StuckThreadMaxTime) of "60" seconds.>
<2008-4-22 上午04时36分18秒 CST> <Error> <WebLogicServer> <BEA-000337> <ExecuteT
hread: '12' for queue: 'weblogic.kernel.Default' has been busy for "171" seconds
working on the request "Http Request: /guestAction.jsp", which is more than the
configured time (StuckThreadMaxTime) of "60" seconds.>
2、        判断可能存在部分sql语句未优化,造成执行时间过长(request超时)造成挂死

3、        解决
开发模式和产品模式的一些参数的默认值不同,可能会对性能造成影响,下面是对性能有影响的参数列表:
参数        开发模式默认值        产品模式默认值
Execute Queue: Thread Count        15 threads        25 threads
JDBC Connection Pool: MaxCapacity        15 connnections        25 connections
通过启动管理控制台,在域(如:mydomain)> 配置 > 常规选择产品模式。

修改了server-myserver参数中的threadcount参数,按照cpu数量,修改为100
修改jdbc数据库连接池,修改为初始15,最大100。

晚间进行跟踪,系统运行正常,高峰时段,尤其是早晨的高峰时段,系统没有再出现挂死的问题。
早晨点击页面查询发现有时会出现页面无法访问的情况。
跟踪发现weblogic最高时有100多并发,同时注意到内存占用比较高,检查发现,原来内存配置较低。

检查原配置文件:
:bea
if "%PRODUCTION_MODE%" == "true" goto
bea_prod_mode
set JAVA_VM=-jrockit
set MEM_ARGS=-Xms96m -Xmx256m
set
JAVA_OPTIONS=%JAVA_OPTIONS% -Xverify:none
goto
continue
:bea_prod_mode
set JAVA_VM=-jrockit
set MEM_ARGS=-Xms128m
-Xmx256m
goto continue


:sun
if "%PRODUCTION_MODE%" == "true" goto sun_prod_mode
set
JAVA_VM=-client
set MEM_ARGS=-Xms32m -Xmx200m -XX:MaxPermSize=128m
set
JAVA_OPTIONS=%JAVA_OPTIONS% -Xverify:none
goto
continue
:sun_prod_mode
set JAVA_VM=-server
set MEM_ARGS=-Xms32m
-Xmx200m -XX:MaxPermSize=128m
goto continue

很明显配置为96m,最高256m。修改后的参数:
修改后结果为
:bea
if "%PRODUCTION_MODE%" == "true" goto
bea_prod_mode
set JAVA_VM=-jrockit
set MEM_ARGS=-Xms256m -Xmx768m
set
JAVA_OPTIONS=%JAVA_OPTIONS% -Xverify:none
goto
continue
:bea_prod_mode
set JAVA_VM=-jrockit
set MEM_ARGS=-Xms256m
-Xmx768m
goto continue


:sun
if "%PRODUCTION_MODE%" == "true" goto sun_prod_mode
set
JAVA_VM=-client
set MEM_ARGS=-Xms256m -Xmx768m -XX:MaxPermSize=128m
set
JAVA_OPTIONS=%JAVA_OPTIONS% -Xverify:none
goto
continue
:sun_prod_mode
set JAVA_VM=-server
set MEM_ARGS=-Xms256m
-Xmx768m -XX:MaxPermSize=128m
goto continue

:continue


最低256,最高768.查看跟踪信息比较调整前后性能:

调整前内存


调整后情况:


现在垃圾回收不那么频繁了,整体稳定性应该有好处。再频繁打开一个页面的情况下,页面仍然能正常显示。

1.jpg (22.5 KB, 下载次数: 30)

1.jpg

2.jpg (22.3 KB, 下载次数: 10)

2.jpg
论坛徽章:
387
马上加薪
日期:2014-07-30 15:56:19itpub13周年纪念徽章
日期:2014-09-30 11:08:572015年新春福章
日期:2015-03-04 14:19:112015年新春福章
日期:2015-03-06 11:57:31
2#
发表于 2008-4-23 18:03 | 只看该作者
不错不错。
256确实小呀

使用道具 举报

回复
论坛徽章:
131
乌索普
日期:2017-09-26 13:06:30马上加薪
日期:2014-11-22 01:34:242014年世界杯参赛球队: 尼日利亚
日期:2014-06-17 15:23:23马上有对象
日期:2014-05-11 19:35:172014年新春福章
日期:2014-04-04 16:16:58马上有对象
日期:2014-03-08 16:50:54马上加薪
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14
3#
发表于 2008-4-23 22:12 | 只看该作者
nice job

使用道具 举报

回复
论坛徽章:
53
2010新春纪念徽章
日期:2010-03-01 11:19:062012新春纪念徽章
日期:2012-02-13 15:12:252012新春纪念徽章
日期:2012-02-13 15:12:252012新春纪念徽章
日期:2012-02-13 15:12:252012新春纪念徽章
日期:2012-02-13 15:12:25版主1段
日期:2012-05-15 15:24:112013年新春福章
日期:2013-02-25 14:51:24马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14
4#
发表于 2008-4-24 10:56 | 只看该作者

mark

使用道具 举报

回复
论坛徽章:
32
ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44紫蛋头
日期:2011-12-05 12:54:36紫蛋头
日期:2012-03-28 19:08:32鲜花蛋
日期:2012-03-29 18:42:18蜘蛛蛋
日期:2012-04-24 18:54:22迷宫蛋
日期:2012-04-25 09:08:50灰彻蛋
日期:2012-05-18 13:13:12奥运会纪念徽章:水球
日期:2012-07-27 16:52:24奥运会纪念徽章:乒乓球
日期:2012-08-14 13:19:23奥运会纪念徽章:铁人三项
日期:2012-08-14 14:52:45
5#
发表于 2008-4-24 16:53 | 只看该作者

使用道具 举报

回复
论坛徽章:
0
6#
发表于 2008-4-24 20:11 | 只看该作者
物理内存够的话java heap改为 -Xms1024m -Xmx1024m 吧
你啥应用阿那么厉害 threadpool要开到 100。。呵呵 一般cpu个数*30就很好了
我觉得应用绝对需要优化。。。

使用道具 举报

回复
论坛徽章:
5
2008新春纪念徽章
日期:2008-02-13 12:43:032012新春纪念徽章
日期:2012-01-04 11:50:442013年新春福章
日期:2013-02-25 14:51:24技术图书徽章
日期:2014-03-31 10:50:45技术图书徽章
日期:2014-04-17 09:11:35
7#
 楼主| 发表于 2008-4-25 10:11 | 只看该作者
wfeng007,你说的没错,我认为主要是应用在连接数据库方面也有问题。
数据库我对等待事件进行了分析,一来数据量确实不大,二来对10w以上数据的查询语句我观察了一下,
可能查询语句方面还要注意看一下。

使用道具 举报

回复
论坛徽章:
56
20周年集字徽章-年	
日期:2020-10-28 15:00:352012新春纪念徽章
日期:2012-02-13 15:08:092012新春纪念徽章
日期:2012-02-13 15:08:09ITPUB十周年纪念徽章
日期:2011-11-01 16:20:28管理团队成员
日期:2011-05-07 01:45:082010广州亚运会纪念徽章:摔跤
日期:2011-03-16 15:58:362011新春纪念徽章
日期:2011-01-25 15:41:01设计板块每日发贴之星
日期:2010-10-11 01:03:542010新春纪念徽章
日期:2010-03-01 11:19:53生肖徽章2007版:牛
日期:2009-09-10 11:14:59
8#
发表于 2008-5-30 17:09 | 只看该作者
想问问,你这个配件文件是不是config.xml还是startWLS.cmd呢

使用道具 举报

回复
论坛徽章:
0
9#
发表于 2009-1-14 09:53 | 只看该作者
我也想知道是在哪个文件里做修改

使用道具 举报

回复
求职 : 数据库管理员
论坛徽章:
186
授权会员
日期:2008-07-27 22:25:202014年新春福章
日期:2014-02-18 16:42:02马上有房
日期:2014-02-18 16:42:02马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上加薪
日期:2014-02-19 11:55:14版主4段
日期:2015-02-26 02:21:03慢羊羊
日期:2015-03-04 14:51:35
10#
发表于 2009-1-17 13:10 | 只看该作者
找了好久,终于找到了

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表