Wildfly Jboss 簡單的配置優化

引言

在學會使用wildlfy之後,只是簡單地把它當做一種工具,沒有仔細類似於tomcat那樣研究過它的優化配置,近期正好找到了這麼一份關於它的配置優化,拿來跟大家分享一下.

log 日誌

日誌輸出定義在root-logger裏面:

<root-logger>
    <level name="INFO"/>
    <handlers>
        <handler name="CONSOLE"/>
        <handler name="FILE"/>
    </handlers>
</root-logger>

級別是INFO;可以改爲warn,error等減少日誌輸出。將刪除掉,就不會往控制檯輸出日誌。增快速度。
log將輸出到兩個handler裏面:console和file。這兩個定義如下:

 <console-handler name="CONSOLE"> 
    <level name="INFO"/> 
        <formatter> 
            <named-formatter name="COLOR-PATTERN"/> 
        </formatter>
</console-handler>

<size-rotating-file-handler name="FILE" autoflush="true">
    <formatter> 
        <named-formatter name="PATTERN"/> 
    </formatter> 
    <file relative-to="jboss.server.log.dir" path="server.log"/> 
    <rotate-size value="1000k"/> 
    <max-backup-index value="5"/> 
    <append value="true"/> 
    <suffix value=".yyyy-MM-dd"/> 
</size-rotating-file-handler>

文件用了size-rotating-file-handler。rotate-size規定了日誌每達到1m,就生成新的日誌。一天共會生成5個分割文件。當日志達到4個以後,剩下日誌會全填充到server.log。導致這個轉爲.5文件後特別大。

數據連接池部分

數據庫連接池失敗後,自動重新連接

<datasource jndi-name="java:jboss/datasources/MySqlDS" pool-name="MySqlDS" enabled="true" use-java-context="true">
                    <connection-url>jdbc:mysql://localhost:3306/statisticsystem?characterEncoding=utf-8&amp;autoReconnect=true&amp;failOverReadOnly=false</connection-url>
                    <driver>mysql</driver>
                    <security>
                        <user-name>jboss</user-name>
                        <password>jboss</password>
                    </security>
                    <validation>
                        <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLValidConnectionChecker"/>
                        <validate-on-match>true</validate-on-match>
                        <background-validation>false</background-validation>
                    </validation>
                    <timeout>
                        <set-tx-query-timeout>false</set-tx-query-timeout>
                        <blocking-timeout-millis>0</blocking-timeout-millis>
                        <idle-timeout-minutes>0</idle-timeout-minutes>
                        <query-timeout>0</query-timeout>
                        <use-try-lock>0</use-try-lock>
                        <allocation-retry>0</allocation-retry>
                        <allocation-retry-wait-millis>0</allocation-retry-wait-millis>
                    </timeout>
                    <statement>
                        <share-prepared-statements>false</share-prepared-statements>
                    </statement>
                </datasource>


                <xa-datasource jndi-name="java:jboss/datasources/MySqlStatDW" pool-name="MySqlStatDW" enabled="true" use-java-context="true">
                    <xa-datasource-property name="ServerName">
                        192.168.8.238
                    </xa-datasource-property>
                    <xa-datasource-property name="PortNumber">
                        5029
                    </xa-datasource-property>
                    <xa-datasource-property name="DatabaseName">
                        statistics
                    </xa-datasource-property>
                    <driver>mysql</driver>
                    <xa-pool>
                        <min-pool-size>5</min-pool-size>
                        <initial-pool-size>5</initial-pool-size>
                        <max-pool-size>100</max-pool-size>
                        <prefill>true</prefill>
                    </xa-pool>
                    <security>
                        <user-name>zhibin</user-name>
                        <password>zhibin123</password>
                    </security>
                    <validation>
                        <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLValidConnectionChecker"/>
                        <check-valid-connection-sql>SELECT 1</check-valid-connection-sql>
                        <validate-on-match>true</validate-on-match>
                        <background-validation>false</background-validation>
                        <exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLExceptionSorter"/>
                    </validation>
                    <statement>
                        <share-prepared-statements>false</share-prepared-statements>
                    </statement>
                </xa-datasource>
                <xa-datasource jndi-name="java:jboss/datasources/MySqlDataCenter" pool-name="MySqlDataCenter" enabled="true" use-java-context="true">
                    <xa-datasource-property name="ServerName">
                        211.100.75.213
                    </xa-datasource-property>
                    <xa-datasource-property name="DatabaseName">
                        cms
                    </xa-datasource-property>
                    <driver>mysql</driver>
                    <xa-pool>
                        <min-pool-size>5</min-pool-size>
                        <initial-pool-size>5</initial-pool-size>
                        <max-pool-size>100</max-pool-size>
                        <prefill>true</prefill>
                    </xa-pool>
                    <security>
                        <user-name>CPdeveloper206</user-name>
                        <password>206@)^developer</password>
                    </security>
                </xa-datasource>

?characterEncoding=utf-8 是數據庫防止存中文亂碼,加上後改好,其他參數自行設置。

事務的超時

<subsystem xmlns="urn:jboss:domain:transactions:3.0">
            <core-environment>
                <process-id>
                    <uuid/>
                </process-id>
            </core-environment>
            <recovery-environment socket-binding="txn-recovery-environment" status-socket-binding="txn-status-manager"/>
            <coordinator-environment default-timeout="60"/>
        </subsystem>

任務job,分區任務最大的線程數

<subsystem xmlns="urn:jboss:domain:batch-jberet:1.0">
    <default-job-repository name="in-memory"/>
    <default-thread-pool name="batch"/>
    <job-repository name="in-memory">
        <in-memory/>
    </job-repository>
    <thread-pool name="batch">
        <max-threads count="200"/>
        <keepalive-time time="30" unit="seconds"/>
    </thread-pool>
</subsystem>

數據庫做http auth

<security-domain name="dbdomain" cache-type="default">
    <authentication>
        <login-module code="Database" flag="required">
            <module-option name="dsJndiName" value="java:jboss/datasources/MySqlDS"/>
            <module-option name="principalsQuery" value="select passwd from USERS where login=?"/>
            <module-option name="rolesQuery" value="select Role , 'Roles' from USER_ROLES where login=?"/>
        </login-module>
    </authentication>
</security-domain>

上傳文件最大尺寸限制

 <server name="default-server">
<http-listener name="default" max-post-size="204857600" socket-binding="http" redirect-socket="https"/>

改成外網地址可以訪問

 <interfaces>
<interface name="management">
<inet-address value="${jboss.bind.address.management:0.0.0.0}"/>
</interface>
<interface name="public">
<inet-address value="${jboss.bind.address:0.0.0.0}"/>
</interface>
<interface name="unsecure">
<inet-address value="${jboss.bind.address.unsecure:127.0.0.1}"/>
</interface>
</interfaces>

轉自:http://www.cnblogs.com/bigben0123/p/5828896.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章