本文是在[url=http://solarisxb.cublog.cn]SOLARIS小兵[/url]的[url=http://blog.chinaunix.net/u/504/showart_1146022.html]文章[/url]基礎上總結修改而成的:
[b]1、設置Connector[/b] 修改server/default/deploy/jboss-web.deployer/server.xmljavascript
<Connector port="80" address="0.0.0.0" maxThreads="250" maxHttpHeaderSize="8192" emptySessionPath="true" protocol="HTTP/1.1" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" compression="on" compressableMimeType="text/html,text/xml,text/plain,text/css,text/javascript,application/xhtml+xml,application/x-javascript,application/javascript,text/xhtml" />
prot="80" 修改端口爲80 address="0.0.0.0" 任何IP均可以訪問 compression="on" compressableMimeType="..." 啓動GZIP壓縮 maxThreads等優化待續... [b]2、調整JVM[/b] 修改bin/run.confcss
if [ "x$JAVA_OPTS" = "x" ]; then JAVA_OPTS="-server -Xms6g -Xmx6g -XX:PermSize=128m -XX:MaxPermSize=1024m -XX:+UseParallelGC -XX:+UseParallelOldGC" fi
-server 使用服務器模式 -Xms6g -Xmx6g 使用6G內存 最大最小相同 避免每次垃圾回收完成後從新分配內存 -XX:+UseParallelGC 並行垃圾回收 避免長時間的服務中斷 -XX:+UseParallelOldGC 並行回收年老代(從JDK6.0開始支持) -XX:PermSize=128m -XX:MaxPermSize=1024m 持久代大小 須要根據實際狀況配置 hibernate,seam,spring等項目須要設置大些 [b]3、去除沒必要要的日誌輸出[/b] 修改server/default/conf/jboss-log4j.xml [quote] <appender name="FILE" class="org.jboss.logging.appender.DailyRollingFileAppender"> <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/> <param name="File" value="${jboss.server.log.dir}/server.log"/> <param name="Append" value="[color=red]true[/color]"/> [color=red]<param name="Threshold" value="ERROR"/>[/color] [/quote] [quote] <root> [color=red]<appender-ref ref="CONSOLE"/>[/color] <!-- 刪除此行 --> <appender-ref ref="FILE"/> </root> [/quote] Append設置爲true 重啓服務不覆蓋日誌 添加<param name="Threshold" value="ERROR"/> 只有ERROR級別以上才記錄日誌 刪除<appender-ref ref="CONSOLE"/> 不在控制檯輸出日誌 [b]4、Jboss數據庫鏈接池優化[/b]html
<datasources> <local-tx-datasource> <jndi-name>datasource</jndi-name> <connection-url>jdbc:mysql://localhost:3306/db?useUnicode=true&characterEncoding=utf8</connection-url> <driver-class>com.mysql.jdbc.Driver</driver-class> <user-name>root</user-name> <password>root</password> <min-pool-size>100</min-pool-size> <max-pool-size>500</max-pool-size> <exception-sorter-class-name> org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter </exception-sorter-class-name> <metadata> <type-mapping>mySQL</type-mapping> </metadata> </local-tx-datasource> </datasources>
[b]5、安全[/b] 一、關閉jmx-console 刪除server/default/deploy/jmx-console.war和server/default/deploy/management 二、關閉web-console和status統計 刪除server/default/deploy/jboss-web.deployer/ROOT.war 三、測試: http://127.0.0.1/jmx-console http://127.0.0.1/web-console http://127.0.0.1/statusjava