JBOSS AS 性能调整优化

3030阅读 3评论2013-05-20 exhalo
分类:架构设计与优化

1 减少日志的输出量
*\jboss-4.2.3.GA\server\default\conf\jboss-log4j.xml

根据不同的日志级别:一共有5个等级,越往下输出的东西越详细。一般没什么特殊情况,调整为warn或者info即可

  1. FATAL 0
  2. ERROR 3
  3. WARN 4
  4. INFO 6
  5. DEBUG 7

日志文件输出

  1. <appender name="FILE" class="org.jboss.logging.appender.DailyRollingFileAppender">
  2.       <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
  3.       <param name="File" value="${jboss.server.log.dir}/server.log"/>#日志文件输出的目录
  4.       <param name="Append" value="false"/>
  5.       <param name="Threshold" value="INFO" /> #主要是这个
  6.       <layout class="org.apache.log4j.PatternLayout">
  7.          <!-- The default pattern: Date Priority [Category] Messagen -->
  8.          <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/>

  9.          <!-- The full pattern: Date MS Priority [Category] (Thread:NDC) Messagen
  10.          <param name="ConversionPattern" value="%d %-5r %-5p [%c] (%t:%x) %m%n"/>
  11.           -->
  12.       </layout>
  13.    </appender>

控制台日志输出
   
  1. <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
  2.       <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
  3.       <param name="Target" value="System.out"/>#日志文件输出格式,直接输出在终端
  4.       <param name="Threshold" value="INFO"/>#主题要是这个

  5.       <layout class="org.apache.log4j.PatternLayout">
  6.          <!-- The default pattern: Date Priority [Category] Messagen -->
  7.          <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n"/>
  8.       </layout>
  9.    </appender>

2 删除不需要的服务

3 调节热部署程序来关闭自动扫描功能或增加扫描之间的等待时间

4 数据源
*\jboss-4.2.3.GA\server\default\deploy\*-ds.xml

  1. <idle-timeout-minutes>5</idle-timeout-minutes#回收不再需要的连接之前应用服务器需要等待的时间量

  2. <min-pool-size>40</min-pool-size#最小的连接量

  3. <max-pool-size>40</max-pool-size#最大的连接量

  4. <query-timeout>300</query-timeout>

  5. <use-fast-fail>true</use-fast-fail>
如果测试项目对数据库的操作平稳,最小数目与最大数目相同即可
如果项目属于有高峰期的那种,那还是设置较小的连接池大小,应付无压力的时期。较高的连接池大小应付高峰期。
这个值尽量不要设置太大,给数据库服务器造成压力,如果宕机,是个很严重的问题。

5 配置线程池
*\jboss-4.2.3.GA\server\default\deploy\jboss-web.deployer\service.xml


  1. <Connector port="80" address="${jboss.bind.address}"
  2.         maxThreads="250" #处理请求的最大线程数。限制同时处理的请求数
  3.         maxHttpHeaderSize="8192"
  4.         emptySessionPath="true" protocol="HTTP/1.1"
  5.         enableLookups="false"
  6.         redirectPort="443"
  7.         acceptCount="100"#排队等待一个线程空闲的最大请求数。如果队列满了,应用服务器会返回一个503HTTP错误
  8.         connectionTimeout="20000"
  9.         disableUploadTimeout="true"
  10. />

线程太大,会占用资源,太小,又不够请求。所以应该根据自己的工程,自己推算线程数。
上一篇:Jmeter脚本录制
下一篇:Apache 性能调优-参考篇