??xml version="1.0" encoding="utf-8" standalone="yes"?>精品三级久久久久久久电影聊斋,不卡欧美aaaaa,日韩成人在线视频http://www.aygfsteel.com/shanben/category/32658.html年强则中国?年q步则中国进?zh-cnThu, 12 Aug 2010 08:02:21 GMTThu, 12 Aug 2010 08:02:21 GMT60TOMCAT崩溃事ghttp://www.aygfsteel.com/shanben/archive/2010/08/11/328532.html存鹰之心于高q?取鹰之志而凌?习鹰之性以涉险,融鹰之神在山?存鹰之心于高q?取鹰之志而凌?习鹰之性以涉险,融鹰之神在山?Wed, 11 Aug 2010 06:25:00 GMThttp://www.aygfsteel.com/shanben/archive/2010/08/11/328532.htmlhttp://www.aygfsteel.com/shanben/comments/328532.htmlhttp://www.aygfsteel.com/shanben/archive/2010/08/11/328532.html#Feedback0http://www.aygfsteel.com/shanben/comments/commentRss/328532.htmlhttp://www.aygfsteel.com/shanben/services/trackbacks/328532.htmlTOMCAT崩溃事g

http://www.aygfsteel.com/tedeyang/archive/2008/06/04/205740.html

今天一大早产品一部项目经理就来找我,他们的一台服务器昨天晚上tomcat服务崩溃Q还不能重启服务Q最后将服务器重启才OK?br /> 我将事gq程和分析过E记录如下:

服务器:win 2000 sp4Qapache 2 + tomcat 5.0 采用mod_jkU联。内?GQ硬盘剩余空间充ICPU基本I闲?br /> 主要应用QJ2EE 1.4QJDBCQ连接另一台mysql服务器)
崩溃旉Q?2008-6-3 18Q?7Q?0

一.各种日志l合如下Q?/font>

   1.37?5U,操作pȝ事g中诺杀毒Y件报内存q低警报
   2.37?5U,web应用抛出JDBCq接异常Q?

2008-06-03 18:37:45 cn.*.db.DBManager.getConnection(DBManager.java:157) ERROR swim.db.DBManager   com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception:
** BEGIN NESTED EXCEPTION **
java.net.SocketException
MESSAGE: java.net.SocketException: No buffer 
space available (maximum connections reached?): JVM_Bind


   3.37?0U,tomcat抛出session无法save异常Q?

2008-06-03 18:37:50 ERROR- IOException while saving persisted sessions: java.io.FileNotFoundException: "izzs"SESSIONS.ser (pȝ资源不Q无法完成请求的服务?
java.io.FileNotFoundException: "izzs"SESSIONS.ser (pȝ资源不Q无法完成请求的服务?
    at java.io.FileOutputStream.open(Native Method)
    at java.io.FileOutputStream.
<init>(FileOutputStream.java:179)
    at java.io.FileOutputStream.
<init>(FileOutputStream.java:70)
    at org.apache.catalina.session.StandardManager.doUnload(StandardManager.java:
511)
    at org.apache.catalina.session.StandardManager.unload(StandardManager.java:
485)
    at org.apache.catalina.session.StandardManager.stop(StandardManager.java:
687)
    at org.apache.catalina.core.StandardContext.stop(StandardContext.java:
4496)
    at org.apache.catalina.core.StandardContext.reload(StandardContext.java:
3037)
    at org.apache.catalina.core.StandardContext.backgroundProcess(StandardContext.java:
4658)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:
1619)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:
1628)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:
1628)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:
1608)
    at java.lang.Thread.run(Thread.java:
534)


 

?单分?/h3>

崩溃原因Q内存不_致资源不I引vTomcat的session崩溃?br />   q台服务器上q行着很多应用Q是什么原因引起内存不无法定?br /> 初步判断|魁R可能是apacheQ该q程q_占用500MB内存Q经怼飚到1G以上?br />
Apache2的配|文件中Q?strong>KeepAlive=OnQMaxKeepAliveRequests=100QKeepAliveTimeout=15Q分析aceess.log文g可以发现每个面触发的request数量?0个以下,点击率较低,可能使连接过多?br /> 我徏议将keepAlive设ؓoffQ增加CPU负蝲Q降低内存消耗?br />

?效果

 有待观察......

参考资料:
http://www.withend.com/post/78.html

?l局 
旉一天,晚上九点再次崩溃Q黑暗事仉演?br /> q一ơ,我才得知原来该apacheq配|有其他域名Q于是调域名下的access.log。项目经理去了机房,在蘪轰地风扇C打电话给我,让我分析分析?br /> 仔细看访问日志,发现原来有N多Connect 443q接Q?43是什么?是SSL端口QHTTPSQ,Connect命o则显然是代理功能Q?br /> 而且q些connect的IP来自全球各地Q加拿大、美国、澳zӀ新西兰、北京、上英国、哪都有?br /> 看来q台服务器是被h当代理服务器用了?br /> 怪不得半夜会LQh家西半球那时正大白天撒欢儿呢?br />
问题出在apache的配|上Q由于应用众多,q且q台服务器还是其他几台web服务器的对外出口Q因此apache中配|了反向代理Q不q不心把正向代理(mod_proxy模块?a id="ProxyRequests" name="ProxyRequests">ProxyRequests指oQ也打开了?br /> 看看apache2.0的官Ҏ档中mod_proxy部分Q里面明明白白写着Q?br />

警告
在您没有Ҏ务器采取安全措施之前Q请不要用ProxyRequests启用您的代理。一个开攄代理服务器不仅对您的|络有威胁,Ҏ个因特网来说也同样如此?br />
真的是很有威胁!大量代理h急剧消耗内存,最l造成LQ?br />
解决办法是把正向代理关掉:ProxyRequests Off


]]>
一ơweblogic调优的经q?/title><link>http://www.aygfsteel.com/shanben/archive/2008/09/04/226905.html</link><dc:creator>存鹰之心于高q?取鹰之志而凌?习鹰之性以涉险,融鹰之神在山?</dc:creator><author>存鹰之心于高q?取鹰之志而凌?习鹰之性以涉险,融鹰之神在山?</author><pubDate>Thu, 04 Sep 2008 05:30:00 GMT</pubDate><guid>http://www.aygfsteel.com/shanben/archive/2008/09/04/226905.html</guid><wfw:comment>http://www.aygfsteel.com/shanben/comments/226905.html</wfw:comment><comments>http://www.aygfsteel.com/shanben/archive/2008/09/04/226905.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/shanben/comments/commentRss/226905.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/shanben/services/trackbacks/226905.html</trackback:ping><description><![CDATA[目l反应数据库有问题,<br /> 查发现sgaq用的默认参敎ͼ~冲区命中率很低。根据系l内存调整后Q好像系l正怺。数据库调整q是结束了<br /> 一天后Q我再登q个数据库的时候,发现一个提CU程已经过限制Q不允许再登录。然后我M改了process?50Q增加ƈ发连接数。然后重启了数据库。当天没发生什么事情,W二天,发现250又被撑满了,q个时候,我就开始换衣中间g有问题,d中间仉边看了下日志Q一直报错,提示无法打开新的q接。一般来_中间件连接数据库能开10个都可以了。至websphere是这Pweblogic应该差不多。然后修改了一下,调整了weblogic的连接池Q修Ҏ大连接到100.<br /> <br /> 1?nbsp;       报错信息<br /> <br /> <2008-4-22 上午04?3?8U?CST> <Error> <WebLogicServer> <BEA-000337> <ExecuteT<br /> hread: '1' for queue: 'weblogic.kernel.Default' has been busy for "102" seconds<br /> working on the request "Http Request: /guestAction.jsp", which is more than the<br /> configured time (StuckThreadMaxTime) of "60" seconds.><br /> <2008-4-22 上午04?3?8U?CST> <Error> <WebLogicServer> <BEA-000337> <ExecuteT<br /> hread: '7' for queue: 'weblogic.kernel.Default' has been busy for "178" seconds<br /> working on the request "Http Request: /guestAction.jsp", which is more than the<br /> configured time (StuckThreadMaxTime) of "60" seconds.><br /> <2008-4-22 上午04?4?8U?CST> <Error> <WebLogicServer> <BEA-000337> <ExecuteT<br /> hread: '0' for queue: 'weblogic.kernel.Default' has been busy for "111" seconds<br /> working on the request "Http Request: /guestAction.jsp", which is more than the<br /> configured time (StuckThreadMaxTime) of "60" seconds.><br /> <2008-4-22 上午04?4?8U?CST> <Error> <WebLogicServer> <BEA-000337> <ExecuteT<br /> hread: '1' for queue: 'weblogic.kernel.Default' has been busy for "162" seconds<br /> working on the request "Http Request: /guestAction.jsp", which is more than the<br /> configured time (StuckThreadMaxTime) of "60" seconds.><br /> <2008-4-22 上午04?5?8U?CST> <Error> <WebLogicServer> <BEA-000337> <ExecuteT<br /> hread: '0' for queue: 'weblogic.kernel.Default' has been busy for "171" seconds<br /> working on the request "Http Request: /guestAction.jsp", which is more than the<br /> configured time (StuckThreadMaxTime) of "60" seconds.><br /> <2008-4-22 上午04?5?8U?CST> <Error> <WebLogicServer> <BEA-000337> <ExecuteT<br /> hread: '12' for queue: 'weblogic.kernel.Default' has been busy for "111" seconds<br /> working on the request "Http Request: /guestAction.jsp", which is more than the<br /> configured time (StuckThreadMaxTime) of "60" seconds.><br /> <2008-4-22 上午04?6?8U?CST> <Error> <WebLogicServer> <BEA-000337> <ExecuteT<br /> hread: '12' for queue: 'weblogic.kernel.Default' has been busy for "171" seconds<br /> working on the request "Http Request: /guestAction.jsp", which is more than the<br /> configured time (StuckThreadMaxTime) of "60" seconds.><br /> 2?nbsp;       判断可能存在部分sql语句未优化,造成执行旉q长Qrequest时Q造成挂死<br /> <br /> 3?nbsp;       解决<br /> 开发模式和产品模式的一些参数的默认g同,可能会对性能造成影响Q下面是Ҏ能有媄响的参数列表Q?br /> 参数        开发模式默认?nbsp;       产品模式默认?br /> Execute Queue: Thread Count        15 threads        25 threads<br /> JDBC Connection Pool: MaxCapacity        15 connnections        25 connections<br /> 通过启动理控制収ͼ在域Q如QmydomainQ?gt; 配置 > 常规选择产品模式?br /> <br /> 修改了server-myserver参数中的threadcount参数Q按照cpu数量Q修改ؓ100<br /> 修改jdbc数据库连接池Q修改ؓ初始15Q最?00?br /> <br /> 晚间q行跟踪Q系l运行正常,高峰时段Q尤其是早晨的高峰时D,pȝ没有再出现挂ȝ问题?br /> 早晨点击面查询发现有时会出现页面无法访问的情况?br /> 跟踪发现weblogic最高时?00多ƈ发,同时注意到内存占用比较高Q检查发玎ͼ原来内存配置较低?br /> <br /> 查原配置文gQ?br /> :bea<br /> if "%PRODUCTION_MODE%" == "true" goto <br /> bea_prod_mode<br /> set JAVA_VM=-jrockit<br /> set MEM_ARGS=-Xms96m -Xmx256m<br /> set <br /> JAVA_OPTIONS=%JAVA_OPTIONS% -Xverify:none<br /> goto <br /> continue<br /> :bea_prod_mode<br /> set JAVA_VM=-jrockit<br /> set MEM_ARGS=-Xms128m <br /> -Xmx256m<br /> goto continue<br /> <br /> <br /> :sun<br /> if "%PRODUCTION_MODE%" == "true" goto sun_prod_mode<br /> set <br /> JAVA_VM=-client<br /> set MEM_ARGS=-Xms32m -Xmx200m -XX:MaxPermSize=128m<br /> set <br /> JAVA_OPTIONS=%JAVA_OPTIONS% -Xverify:none<br /> goto <br /> continue<br /> :sun_prod_mode<br /> set JAVA_VM=-server<br /> set MEM_ARGS=-Xms32m <br /> -Xmx200m -XX:MaxPermSize=128m<br /> goto continue<br /> <br /> 很明N|ؓ96mQ最?56m。修改后的参敎ͼ<br /> 修改后结果ؓ<br /> :bea<br /> if "%PRODUCTION_MODE%" == "true" goto <br /> bea_prod_mode<br /> set JAVA_VM=-jrockit<br /> set MEM_ARGS=-Xms256m -Xmx768m<br /> set <br /> JAVA_OPTIONS=%JAVA_OPTIONS% -Xverify:none<br /> goto <br /> continue<br /> :bea_prod_mode<br /> set JAVA_VM=-jrockit<br /> set MEM_ARGS=-Xms256m <br /> -Xmx768m<br /> goto continue<br /> <br /> <br /> :sun<br /> if "%PRODUCTION_MODE%" == "true" goto sun_prod_mode<br /> set <br /> JAVA_VM=-client<br /> set MEM_ARGS=-Xms256m -Xmx768m -XX:MaxPermSize=128m<br /> set <br /> JAVA_OPTIONS=%JAVA_OPTIONS% -Xverify:none<br /> goto <br /> continue<br /> :sun_prod_mode<br /> set JAVA_VM=-server<br /> set MEM_ARGS=-Xms256m <br /> -Xmx768m -XX:MaxPermSize=128m<br /> goto continue<br /> <br /> :continue<br /> <br /> <br /> 最?56Q最?68.查看跟踪信息比较调整前后性能Q?br /> <br /> 调整前内?br /> <br /> <br /> 调整后情况:<br /> <br /> <br /> 现在垃圾回收不那么频J了Q整体稳定性应该有好处。再频繁打开一个页面的情况下,面仍然能正常显C?br /> <img src ="http://www.aygfsteel.com/shanben/aggbug/226905.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/shanben/" target="_blank">存鹰之心于高q?取鹰之志而凌?习鹰之性以涉险,融鹰之神在山?</a> 2008-09-04 13:30 <a href="http://www.aygfsteel.com/shanben/archive/2008/09/04/226905.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>weblogic]weblogic 8.1.4服务器挂?出现StuckThreadMaxTime错误http://www.aygfsteel.com/shanben/archive/2008/09/04/226900.html存鹰之心于高q?取鹰之志而凌?习鹰之性以涉险,融鹰之神在山?存鹰之心于高q?取鹰之志而凌?习鹰之性以涉险,融鹰之神在山?Thu, 04 Sep 2008 05:02:00 GMThttp://www.aygfsteel.com/shanben/archive/2008/09/04/226900.htmlhttp://www.aygfsteel.com/shanben/comments/226900.htmlhttp://www.aygfsteel.com/shanben/archive/2008/09/04/226900.html#Feedback0http://www.aygfsteel.com/shanben/comments/commentRss/226900.htmlhttp://www.aygfsteel.com/shanben/services/trackbacks/226900.html 

前几天用spring+hibernate+struts写了个增/??查的例子。调试期间问题就来了Q当查询l果页好几ơ就没N久没有响应了。最后控制报错。网上查了,它说数据库连接(池)问题?/font>

出现错误如下:

[2007-9-30 下午12?3?3U?CST] [Error] [WebLogicServer] [BEA-000337] [ExecuteThread: '13' for queue: 'weblogic.kernel.Default' has been busy for "901" seconds working on the request "Http Request: /admin/school.do", which is more than the configured time (StuckThreadMaxTime) of "600" seconds.]

<转ؓ[Q?gt;转ؓ]Q才发得Z上面错误。可能是javaeye的bug?nbsp;

先说下我配置

1.环境Q?/p>

spring 2.0.6Qhibernate 3.2.3Qstruts 1.2.9Qoracle 10.2Qweblogic 8.1.4

jdbc是ojdbc14.jar

2.q接池用DBCP

xml 代码
  1. <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">  
  2.     <property name="driverClassName" value="${jdbc.driverClassName}"/>  
  3.     <property name="url" value="${jdbc.url}"/>  
  4.     <property name="username" value="${jdbc.username}"/>  
  5.     <property name="password" value="${jdbc.password}"/>  
  6. bean>  

 3.分页ҎQ参考springside的)Q此cȝ承HibernateDaoSupport

java 代码
  1. public Page listByPage(Class entityClass, int pageNo, int pageSize, List criterions, List orders) {   
  2.     Criteria criteria = createCriteria(entityClass, criterions);   
  3.     CriteriaImpl impl = (CriteriaImpl) criteria;   
  4.   
  5.     // 先把Projection和OrderBy条g取出?清空两者来执行Count操作   
  6.     Projection projection = impl.getProjection();   
  7.     //获取总记录数   
  8.     int totalCount = ((Integer) criteria.setProjection(Projections.rowCount()).uniqueResult()).intValue();   
  9.   
  10.        
  11.     if(totalCount < 1) {   
  12.         return new Page();   
  13.     }   
  14.        
  15.     //加排?  
  16.     if(orders != null) {   
  17.         for(int i=0; i
  18.             criteria.addOrder((Order) orders.get(i));   
  19.         }   
  20.     }   
  21.     //原来的投?  
  22.     criteria.setProjection(projection);   
  23.     int startIndex = Page.getStartOfPage(pageNo, pageSize);   
  24.     //取得l果   
  25.     List list = criteria.setFirstResult(startIndex).setMaxResults(pageSize).list();   
  26.        
  27.     return new Page(startIndex, totalCount, pageSize, list);   
  28. }   
  29.   
  30. public Criteria createCriteria(Class entityClass, List criterions) {   
  31.     Criteria criteria = getSession().createCriteria(entityClass);   
  32.     if(criterions != null) {   
  33.         for(int i=0; i
  34.             criteria.add((Criterion) criterions.get(i));   
  35.         }   
  36.     }   
  37.        
  38.     return criteria;   
  39. }  

另外Q没有用OpenSessionInViewFilterQstruts与spring的整合:DelegatingRequestProcessor、action path与bean name同名?/font>

页不过10ơ,服务器就没响应了Q最后出C面的错误的了?/font>



问题解决Q问题的原因是数据库q接耗尽Q我用HiberanteDaoSupport的getSession()Ҏ取得Session后没有释放Session?/p>

出问题的代码处:

java 代码
  1. public Criteria createCriteria(Class entityClass, List criterions) {       
  2.     Criteria criteria = getSession().createCriteria(entityClass);       
  3.     if(criterions != null) {       
  4.         for(int i=0; i    
  5.             criteria.add((Criterion) criterions.get(i));       
  6.         }       
  7.     }       
  8.            
  9.     return criteria;       
  10. }  

 

用完Session释放后就没事了,调用HiberanteDaoSupport?font face="Arial">releaseSession(session);Ҏ后即可解冟?/font>

现在正确的代码:

java 代码
  1. public Page listByPage(Class entityClass, int pageNo, int pageSize, List criterions, List orders) {   
  2.     Session session = getSession();   
  3.     //创徏criteria   
  4.     Criteria criteria = session.createCriteria(entityClass);   
  5.     //为criteriadcriterions   
  6.     createCriteria(entityClass, criteria, criterions);   
  7.     CriteriaImpl impl = (CriteriaImpl) criteria;   
  8.   
  9.     // 先把Projection和OrderBy条g取出?清空两者来执行Count操作   
  10.     Projection projection = impl.getProjection();   
  11.     //获取总记录数   
  12.     int totalCount = ((Integer) criteria.setProjection(Projections.rowCount()).uniqueResult()).intValue();   
  13.   
  14.        
  15.     if(totalCount < 1) {   
  16.         return new Page();   
  17.     }   
  18.        
  19.     //加排?  
  20.     if(orders != null) {   
  21.         for(int i=0; i<orders.size(); i++) {   
  22.             criteria.addOrder((Order) orders.get(i));   
  23.         }   
  24.     }   
  25.     //原来的投?  
  26.     criteria.setProjection(projection);   
  27.     int startIndex = Page.getStartOfPage(pageNo, pageSize);   
  28.     //取得l果   
  29.     List list = criteria.setFirstResult(startIndex).setMaxResults(pageSize).list();   
  30.     //释放hiberante资源,一定要释放,要不然就数据库连接耗尽.   
  31.     releaseSession(session);   
  32.     return new Page(startIndex, totalCount, pageSize, list);   
  33. }   
  34.   
  35. public Criteria createCriteria(Class entityClass, Criteria criteria, List criterions) {   
  36.     if(criterions != null) {   
  37.         for(int i=0; i<criterions.size(); i++) {   
  38.             criteria.add((Criterion) criterions.get(i));   
  39.         }   
  40.     }   
  41.        
  42.     return criteria;   
  43. }  


]]>
WEBLOGIC调优Ҏhttp://www.aygfsteel.com/shanben/archive/2008/06/30/211741.html存鹰之心于高q?取鹰之志而凌?习鹰之性以涉险,融鹰之神在山?存鹰之心于高q?取鹰之志而凌?习鹰之性以涉险,融鹰之神在山?Mon, 30 Jun 2008 12:55:00 GMThttp://www.aygfsteel.com/shanben/archive/2008/06/30/211741.htmlhttp://www.aygfsteel.com/shanben/comments/211741.htmlhttp://www.aygfsteel.com/shanben/archive/2008/06/30/211741.html#Feedback0http://www.aygfsteel.com/shanben/comments/commentRss/211741.htmlhttp://www.aygfsteel.com/shanben/services/trackbacks/211741.html注:在下面做的介l都是以Weblogic8.1Z的,其它版本的Weblogic可能会有些许不同?br /> 1) 讄JAVA参数Q?br /> a) ~辑Weblogic Server启动脚本文gQ?br /> l   BEA_HOME\user_projects\domains\domain-name\startWebLogic.cmd(startWebLogic.sh on Unix)
l BEA_HOME\user_projects\domains\domain-name\startManagedWebLogic.cmd(startManagedWebLogic.sh on Unix)
b) ~辑set JAVA_OPTIONS命oQ如Qset JAVA_OPTIONS=-Xms256m –Xmx256mQ?br /> c) 保存Q重启即可?br /> 注:在WebLogic中,Z获得更好的性能QBEA公司推荐最Java堆等于最大Java堆?br /> 2) 开发模?vs. 产品模式Q?br /> 开发模式和产品模式的一些参数的默认g同,可能会对性能造成影响Q下面是Ҏ能有媄响的参数列表Q?br /> 参数         开发模式默认?nbsp;        产品模式默认?br /> Execute Queue: Thread Count         15 threads         25 threads
JDBC Connection Pool: MaxCapacity         15 connnections         25 connections
通过启动理控制収ͼ在域Q如QmydomainQ?gt; 配置 > 常规选择产品模式?br /> 3) 量开启本地I/OQ?br /> 通过启动理控制収ͼ在域Q如QmydomainQ?gt; 服务?> server实例Q如QmyserverQ?gt; 配置 > 调整选择启用本地I/O?br /> 注:此g可通过手动的修改config.xml配置文g?br /> 4) 调优执行队列U程Q?br /> a) 修改默认执行U程?br /> 在这里,执行队列的线E数表示执行队列能够同时执行的操作的数量。但此g是设的越大越好,应该恰到好处的去讄它,太小了,执行队列中将会积累很多待处理的Q务,太大了,则会消耗大量的pȝ资源从而媄响整体的性能。在产品模式下默认ؓ25个执行线E?br /> Z讄理想的执行队列的U程敎ͼ我们可以启动理控制収ͼ在域Q如QmydomainQ?gt; 服务?> server实例Q如QmyserverQ?gt; 监视 > 性能中监控最大负载时执行队列的吞吐量和队列中的等待请求数Q据此确定理想的数倹{?br /> 理想的默认执行线E数是由多方面的因素军_的,比如机器CPU性能、M体系架构、I/O、操作系l的q程调度机制、JVM的线E调度机制。随着CPU?数的增加QWebLogic可以q乎U性地提高U程数。线E数多Q花费在U程切换的时间也p多;U程数越,CPU可能无法得到充分的利用。ؓ获取一 个理想的U程敎ͼ需要经q反复的试。在试中,可以?5*CPU个数为基准进行调整。当I闲U程较少QCPU利用率较低时Q可以适当增加U程数的大小 Q每五个递增Q。对于PC Server和Windows 2000Q则最好每个CPU于50个线E,以CPU利用率ؓ90%左右为最佟?br /> 通过启动理控制収ͼ在域Q如QmydomainQ?gt; 服务?> server实例Q如QmyserverQ?gt; Execute Queue > weblogic.kernel.Defalt > 配置中修改线E计数?br /> b) 讑֮执行队列的溢出条Ӟ
Weblogic Server提供l默认的执行队列或用戯定义的执行队列自定义溢出条g的功能,当满x溢出条gӞ服务器改变其状态ؓ“警告”状态,q且额外的再分配一些线E去处理在队列中的请求,而达到降低队列长度的目的?br /> 通过启动理控制収ͼ在域Q如QmydomainQ?gt; 服务?> server实例Q如QmyserverQ?gt; Execute Queue > weblogic.kernel.Defalt > 配置下面几项Q?br /> L 队列长度Q此DC执行队列中可容U的最大请求数Q默认值是65536Q最后不要手动改变此倹{?br /> L 队列长度阈值百分比Q此DC溢出条Ӟ在此服务器指出队列溢Z前可以达到的队列长度大小的百分比?br /> L U程数增加:当检到溢出条gӞ增加到执行队列中的U程数量。如果CPU和内存不是够的高,量不要改变默认?#8220;0”。因为Weblogic一旦增加后不会自动~减Q虽然最l可能确实vC降低h的作用,但在来的运行中媄响程序的性能?br /> L   最大线E数Qؓ了防止创多的U程数量Q可以通过讑֮最大的U程数进行控制?br /> 在实际的应用场景中,应根据具体情况适当的调整以上参数?br /> c) 讑֮执行队列监测行ؓ
Weblogic Server能够自动监测到当一个执行线E变?#8220;d”。变?#8220;d”状态的执行U程无法完成当前的工作Q也无法再执行新h。如果执行队列中的所有执 行线E都变ؓ“d”状态,Weblogic server可能改变状态ؓ“警告”?#8220;严重”状态。如果Weblogic server变ؓ“严重”状态,可以通过Node Manager来自动关闭此服务器ƈ重新启动它。具体请参考:Node Manager Capabilities文档?br /> 通过启动理控制収ͼ在域Q如QmydomainQ?gt; 服务?> server实例Q如QmyserverQ?gt;配置 > 调整下可配置下面几项Q?br /> l   dU程最长时_在此服务器将U程诊断为阻塞线E之前,U程必须q箋工作的时间长?U?。默认情况下QWebLogic Server 认ؓU程在连l工?600 U后成ؓdU程?br /> l   dU程计时器间隔:WebLogic Server 定期扫描U程以查看它们是否已l连l工作了 "dU程最长时? 字段中指定的旉长度的间隔时?U?。默认情况下QWebLogic Server 此旉间隔讄?600 U?br /> 5) 调优TCPq接~存敎ͼ
WebLogic Server用Accept Backlog参数规定服务器向操作pȝh的队列大,默认gؓ50。当pȝ重蝲负荷?q个值可能过?日志中报Connection Refused,D有效q接h遭到拒绝,此时可以提高Accept Backlog 25%直到q接拒绝错误消失。对于Portalcd的应?默认值往往是不够的。Login Timeout和SSL Login Timeout参数表示普通连接和SSLq接的超时时?如果客户q接被服务器中断或者SSL定w?可以试增加该倹{?br /> 通过启动理控制収ͼ在域Q如QmydomainQ?gt; 服务?> server实例Q如QmyserverQ?gt;配置 > 调整下可配置“接受预备q接”?br /> 6) 改变Java~译器;
标准的Java~译器是javacQ但~译JSP servlets速度太慢Qؓ了提高编译速度Q可以用sj或jikes~译器取代javac~译器。下面说说更改Java~译器:
通过启动理控制収ͼ在域Q如QmydomainQ?gt; 服务?> server实例Q如QmyserverQ?gt;配置 > 常规下改变Java ~译器,默认为javac。输入完整\径,如:c:\visualcafe31\bin\sj.exe。然后打开高选项Q在预规划到c\径填写编?Java 代码时ؓ Java ~译器类路径预规划的选项Q如QBEA_HOME\jdk141_02\jre\lib\rt.jar?br /> 7) 使用Webogic Server集群提高性能Q?br /> 具体关于如何配置Weblogic集群Q我׃l说了。详情可参考:Introduction to WebLogic Server Clustering?br /> 8) Weblogic EJB调优
׃EJB2.0已经很少目在用了,EJB3.0再成熟一点,我再补充q一部分吧!
9) JDBC应用调优
JDBC Connection Pool的调优受制于WebLogic ServerU程数的讄和数据库q程?游标的大。通常我们在一个线E中使用一个连?所以连接数q不是越多越?为避免两边的资源消耗,讄q?接池的最大值等于或者略于U程数。同时ؓ了减新接的开销,最值和最大DZ致?br /> 增加Statement Cache Size对于大量使用PreparedStatement对象的应用程序很有帮?WebLogic能够为每一个连接缓存这些对?此值默认ؓ10。在?证数据库游标大小_的前提下,可以Ҏ需要提高Statement Cache Size。比如当你设|连接数?5,Cache Size?0?数据库可能需要打开25*10=250个游标。不q的?当遇CPreparedStatement Cache有关的应用程序错误时,你需要将Cache Size讄??br /> 管JDBC Connection Pool提供了很多高U参?在开发模式下比较有用,但大部分在生产环境下不需调整。这里徏议最好不要设|测试表, 同时Test Reserved Connections和Test Released Connections也无需勾上?当然如果你的数据库不E_,时断时箋,你就可能需要上q的参数打开?br /> 最后提一下驱动程序类型的选择,以OracleZ,Oracle提供thin驱动和oci驱动,从性能上来?oci驱动Zthin驱动,特别是大?据量的操作。但在简单的数据库操作中,性能相差不大,随着thin驱动的不断改q?q一弱势得到I补。而thin驱动的移植性明昑ּ于oci驱动。所?在通常情况下徏议用thin驱动。而最新驱动器׃WebLogic server/bin目录下的cd可能不是最新的,请以Oracle|站为准: http://www.oracle.com/technology ... tdocs/jdbc9201.html?br /> 10) JSP调优
l   讄jsp-param pageCheckSeconds=-1Q?br /> l   讄serlet-reload-check=-1或ServletReloadCheckSecs=-1Q?br /> l   讄jsp-param precompile=trueQ关闭JSP预编译选项?转蝲)

]]>
վ֩ģ壺 ҵ| | | | ϲ| ؿ˹| Դ| ˮ| | Ǩ| | | | ƽ| ͬ| | ֺ| | | | | ӽ| Դ| ϲ| | | | | ³| ͭɽ| ľ| ϴ| ܱ| Ӻ| | | غ| ƽȪ| | ƺ| |