JBOSS AS 性能調整優化

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. />

線程太大,會佔用資源,太小,又不夠請求。所以應該根據自己的工程,自己推算線程數。
閱讀(514) | 評論(3) | 轉發(2) |
給主人留下些什麼吧!~~
評論熱議
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章