[JBoss] JBoss 設定與效能調校


  • 簡介:

    JBoss AS廣泛用於Web應用程序的開發,測試和部署Java應用程序服務器。 在這篇文章中,將介紹的JBoss的設置和性能調整。

JBoss可大規模部署(Farm Deploy),並支持負載均衡(Load Balance),集群(Cluster),並符合EJB和J2EE規範。請注意以下是針對JBoss5.1。


  • 開始使用JBoss前你要做的事:
1.下載並安裝 JDK ,建議是使用1.6版
2.下載相應的 JBoss 版本

  • 基礎:

JBoss AS 5採用了全新的架構被 Microcontainer 來管理POJO和生命週期,這是一個輕量級的容器。它也完整支援Java EE5。

JBoss AS 5配備了5種不同的組態(server configurations)。應用程序應該選適合的組態。這篇文章會使用default來做說明。

如果您使用的是“默認”以外的其他任何服務器配置,你將不得不在服務器的啟動腳本的命令行中指定。例如使用下面的命令來運行“最小”配置。

/jboss-5.1.0.GA/bin# run.sh -C default  (如是default可以不寫)
另外你要部署程式,可以將WAR or EAR直接copy到 /JBOSS_HOME/server/default/deploy/下就可以完成。

  • 設定
step1: 設定啟動與停止script
    startup : /JBOSS_HOME/bin/run.sh -c default
    shutdown : /JBOSS_HOME/bin/shutdown.sh -S
    bind ip : /JBOSS_HOME/bin/run.sh -c default -b 0.0.0.0

step2: JVM的memory 設定
    run.conf是 run.sh這個啟動script會去讀取的組態檔,我們可以將JVM的參數設定於此。
值的大小取決於你機器本身,沒有一定,但有時太小可能會導致一些問題。

set "JAVA_OPTS=%JAVA_OPTS% -Xms1024m -Xmx1024m"
set "JAVA_OPTS=%JAVA_OPTS% -XX:PermSize=512m -XX:MaxPermSize=512m"

建議是將-Xms與-Xmx設為一樣大,PermSize設為512。PermSize預設為256通常是不夠的。

step3: 更改服務的Port號
    /JBOSS_HOME/server/default/conf/bindingservice.beans/META-INF/bindings-jboss-beans.xml
可將裡面 8080改為 80 , 8443改為443。應你需求來設定。

step4: 設定Datasource
    一般設定datasource是採用*-ds.xml,並將該檔案部署到JBOSS_HOME/server/default/deploy/下,以postgres為例,你可以產出一個postgres-ds.xml來設定所要的組態,並放置到前述的目錄下。
    你可以到JBOSS_HOME/docs/examples/jca下找到很多例子。copy一份並更改裡面的參數就可以囉。

setp5: 設定HTTP Connector
    在/JBOSS_HOME/serverdefault/deploy/jbossweb.sar/server.xm裡面可以組態HTTP Connector的設定,這些設定可能會關係到系統的Performance。


maxThreads- 處理客戶端的HTTP請求被分配的最大的線程數。就是同時要應付多少Request啦。

acceptCount - 這是請求隊列中的請求的線程時使用所有可用線程的數量。當超過時,再連進該伺服器就會顯示timeout。

compression - 如果將此屬性設為“force”,傳送的內容會被壓縮,由JBoss將被發送到瀏覽器。瀏覽器將它解壓縮,然後才顯示頁面。啟用壓縮可以減少你的應用程序的頻寬。

setp6:  設定 JSP Compilation

Step 7 – 移除不必要的服務與應用程式
    以下列出的Service如果不會用到,可以將其刪除
(a) Home page server- (deploy/ROOT.war)
(b) JMX Console server – (deploy/jmx-console.war)
(c) Web Console server – (deploy/management)
(d) Unique ID key generator -  (deploy/uuid-key-generator.sar, lib/autonumber-plugin.jar)
(e) HTTP Invoker service – (deploy/http-invoker.sar)
(f) Quartz scheduler service – (deploy/quartz-ra.rar)
(g) Mail service – (deploy/mail-service.xml, lib/mail*.jar)
(h) Monitoring service – (deploy/monitoring-service.xml,lib/jboss-monitoring.jar)
(i) Scheduler service – (deploy/scheduler-service.xml, deploy/schedule-manager-service.xml,lib/scheduler-plugin*.jar)
(j) Messaging (JMS) service – (deploy/messaging, deploy/jms-ds.xml, deploy/jms-ra.rar, lib/jboss-messaging*.jar)

Step 8 – 保護 Administration Console

Step 9 – 設定 Log4J Logging








沒有留言:

張貼留言