JBOSS4 性能優(yōu)化設(shè)置
JVM優(yōu)化
vi /usr/jboss/bin/run.conf
原文
if [ "x$JAVA_OPTS" = "x" ]; then
JAVA_OPTS="-Xms128m -Xmx512m -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000"
fi
修改為
if [ "x$JAVA_OPTS" = "x" ]; then
JAVA_OPTS="-Xms1600m -Xmx1600m -XX:PermSize=128m -XX:MaxPermSize=1024m -XX:+UseParallelGC -XX:+UseParallelOldGC -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000"
fi
-Xms1600m -Xmx1600m 使用1600M內(nèi)存 最大最小相同 避免每次垃圾回收完成后重新分配內(nèi)存
-XX:+UseParallelGC 并行垃圾回收 避免長時間的服務(wù)中斷
-XX:+UseParallelOldGC 并行回收年老代(從JDK6.0開始支持)
-XX:PermSize=128m -XX:MaxPermSize=1024m 持久代大小 需要根據(jù)實際情況配置 hibernate,seam,spring等項目需要設(shè)置大些
-Dclient.encoding.override=GBK 設(shè)置字符集
-Djava.awt.headless=true 好像和處理頁面顯示圖片等有關(guān)
-XX:SurvivorRatio=16 將 Java 堆劃分為舊對象(長生命周期對象)區(qū)域和新對象區(qū)域。新對象區(qū)域進一步細分為兩部分,第一部分用于分配給新對象(初始區(qū)域),第二部分存放那些經(jīng)過其前幾次垃圾回收之后、但在被提升為舊對象之前仍在使用中的新對象(幸存者空間)。幸存者比率是堆的新對象區(qū)域中初始區(qū)域與幸存者空間的比率。增大此設(shè)置將針對 需要創(chuàng)建大量對象但僅保留少量對象的應(yīng)用程序優(yōu)化 JVM。
-Xnoclassgc 禁用類垃圾收集
修改server.xml文件
<Connector port="8080" 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"
/>
修改后
<Connector port="8080" 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" />
compression="on" compressableMimeType=""用來啟用GZIP壓縮
日志修改
server/default/conf/jboss-log4j.xml
查找
<param name="Append" value="false"/>
改為
<param name="Append" value="true"/>
<param name="Threshold" value="ERROR"/> //此行為自己添加
<root>
<appender-ref ref="CONSOLE"/> <---刪除此行--->
<appender-ref ref="FILE"/>
</root>
Append設(shè)置為true 重啟服務(wù)不覆蓋日志
添加<param name="Threshold" value="ERROR"/> 只有ERROR級別以上才記錄日志
刪除<appender-ref ref="CONSOLE"/> 不在控制臺輸出日志
連接池修改
<min-pool-size>30</min-pool-size><!-- 30 --> 連接池保持最小連接數(shù)
<max-pool-size>500</max-pool-size><!-- 100 --> 連接池保持最大連接數(shù)
<idle-timeout-minutes>3</idle-timeout-minutes> <!-- 數(shù)據(jù)庫連接空閑時間,單位為分鐘,如果負載較大,可以設(shè)為5,如果一般,可以設(shè)為3 -->
關(guān)閉系統(tǒng)不需要的服務(wù)
#setup 選擇系統(tǒng)服務(wù)
anacron (系統(tǒng))與循環(huán)型的工作排程 cron 有關(guān),可在排程過期後還可以喚醒來繼續(xù)執(zhí)行, 設(shè)定檔在 /etc/anacrontab。
apmd (系統(tǒng))設(shè)定檔在 /etc/sysconfig/apmd ,也是電源管理模組啦! 可偵測電池電量,當電池電力不足時,可以自動關(guān)機以保護電腦主機。
autofs (系統(tǒng))可用來自動掛載來自網(wǎng)路上的其他伺服器所提供的網(wǎng)路磁碟機 (一般是 NFS)。 不過我們是單機系統(tǒng),所以目前還沒必要這個服務(wù)。
avahi-daemon (系統(tǒng))也是一個用戶端的服務(wù),可以透過 Zeroconf 自動的分析與管理網(wǎng)路。 Zeroconf 較常用在筆記型電腦與行動裝置上,所以我們可以先關(guān)閉他啦!
bluetooth (系統(tǒng))用在藍芽裝置的搜尋上,如果 Linux 是當作伺服器使用時, 這個服務(wù)可以暫時關(guān)閉也沒關(guān)係!
cups (網(wǎng)路)用來管理印表機的服務(wù),可以提供網(wǎng)路連線的功能,有點類似列印伺服器的功能哩! 你可以在 Linux 本機上面以瀏覽器的 http://localhost:631 來管理印表機喔!由於我們目前沒有印表機,所以可以暫時關(guān)閉他。
firstboot (系統(tǒng))還記得系統(tǒng)第一次進入圖形介面還需要進行一些額外的設(shè)定嗎? 就是這個服務(wù)的幫忙啦!既然已經(jīng)安裝妥當,現(xiàn)在你可以將這個服務(wù)關(guān)閉囉。
hidd (系統(tǒng))也是藍芽服務(wù)的功能啦!可以提供鍵盤、滑鼠等藍芽裝置的偵測哩! 須搭配 bluetooth。伺服器環(huán)境倒是不需要此項服務(wù)
hplip (系統(tǒng))主要是針對 HP 的印表機功能所開發(fā)的腳本服務(wù),如果你的環(huán)境中並沒有 HP 相關(guān)設(shè)備,這個服務(wù)就給他關(guān)閉吧!
ip6tables (網(wǎng)路)是針對本機的防火牆功能!這個防火牆主要是針對 IPv6 的版本, 如果你的網(wǎng)路環(huán)境並沒有 IPv6 的設(shè)備,那麼這個服務(wù)是可以關(guān)閉的。
isdn (網(wǎng)路)ISDN 是一種寬頻設(shè)備 (數(shù)據(jù)機的一種) ,但是在臺灣我們比較常使用 ADSL 及光纖設(shè)備, 所以這個服務(wù)是可以關(guān)閉啦。
lm_sensors (系統(tǒng))這個服務(wù)可以幫你偵測主機板的相關(guān)偵測晶片,舉例來說, 某些主機板會主動的偵測 CPU 溫度、頻率、電壓等,這個 lm_sensors 能夠?qū)⑦@些溫度、頻率等數(shù)據(jù)顯示出來喔!不過你得要先設(shè)定過就是了。
pcscd (系統(tǒng))智慧卡偵測的服務(wù),可以關(guān)閉他啦。
%%%%%%%%%%%%%未修改部分%%%%%%%%%%%%
安全
1、關(guān)閉jmx-console
刪除server/default/deploy/jmx-console.war和server/default/deploy/management
2、關(guān)閉web-console和status統(tǒng)計
刪除server/default/deploy/jboss-web.deployer/ROOT.war
Jboss部署目錄優(yōu)化:
去掉和應(yīng)用無關(guān)的部署,加快jboss運行速度
bsh-deployer.xml
client-deployer-service.xml
ear-deployer.xml
ejb-deployer.xml
http-invoker.sar
jboss-bean.deployer
jboss-ws4ee.sar
jms
jsr88-service.xml
schedule-manager-service.xml
scheduler-service.xml
sqlexception-service.xml
uuid-key-generator.sar
待續(xù)。。。。
注:后面好像有錯。。。。小心使用。
posted on 2010-04-16 16:35 大魚 閱讀(1035) 評論(0) 編輯 收藏 所屬分類: JBOSS