jboss性能優化
為了優化jboss的性能,對jboss服務器做了如下改動。
設置jvm 參數
安裝jboss-native
降低jboss輸出日志的等級
起用了jboss內的tomcat對傳輸數據的壓縮功能
使用ehcache做hibernate的二級緩存
下面就以上的各改動做詳細說明,為了表述方便<jboss>代表jboss的安裝目錄:
設置 jvm 參數
編輯<jboss>/bin/run.conf, 在文件的底部找到對參數JAVA_OPTS進行設置的地方。這個參數會最后傳到jvm里。其中
-Xms512m 代表jvm最少用 512m內存
-Xmx1024m 代表jvm最多使用 1024m內存
修改這個兩參數,給jvm分配適當的內存,一般為服務器的3/4內存量,推薦至少使用4G內存。
另外添加兩個參數 -XX:+UseParallelGC -XX:+UseParallelOldGC 這兩個讓服務并行回收內存空間。修改完成后,大致為 JAVA_OPTS = “-Xms4096m -Xmx8192m -XX:+UseParallelGC -XX:+UseParallelOldGC -Dsum…….
安裝jbossNative
jboss的web container使用的 apache tomcat (http://www.apache.org)。 apache tomcat 有一個擴展包,使tomcat可以通過 java native interface 使用 apache portable runtime (APR),而APR則是大名頂頂的apache httpd 網絡服務器的運行時環境。用了這個擴展之后,就使得tomcat可以借助于apache httpd的力量,性能得以提升,尤其是處理靜態文件時效率更高。Jboss native,實際上就是tomcat的這個native的擴展,只不過被jboss又添進了一些為了和jboss更好協作而加進去的東西。
要安裝jboss native, 按以下步驟進行
請到jboss的網站上下載,地址是 http://www.jboss.org/jbossweb/downloads/jboss-native/?action=a&windowstate=maximized, 依據服務器環境選擇合適的版本。 目前我們用的版本是JBoss Native 2.0.4 Linux x86 。
解壓下載后的壓縮包到某個目錄,比如 jbossNative目錄
將jbossNative/bin/META-INF/bin/linux2/x86/openssl 復制到<jboss>/bin
在<jboss>/bin目錄里建一個文件夾,名為 native
把jbossNative/bin/META-INF/lib/linux2/x86/ 目錄下所有內容復制到上一步建好的<jboss>/bin/native目錄下
降低jboss輸出日志的等級
打開 <jboss>/server/default/conf/jboss-log4j.xml ,這是一個log4j的配置文件。log4j的詳細配置說明請參看 http://logging.apache.org/log4j/1.2/index.html 。日志輸出的太多,會導致服務器性能降低,所以減少不必要的日志輸出。方法大體如下:
找到 name=”org.jboss” 的category 元素,設置里面的priority元素為 <priority value=”INFO” />
建一個新的category,內容為 <category name=”javax.faces”><priority value=”INFO” /></category>
log4j 還能夠將不同的日志輸入到不同的地方,為了以后維護方便,應該將不同 category的日志輸入到不同的文件里。詳細方法參看上面的網站里的說明。
起用了jboss內的tomcat對傳輸數據的壓縮功能
合同管理里用了大量的javascript. css等,為了減少傳輸時間,可以起用壓縮功能。方法是:
打開<jboss>/server/default/deploy/jboss-web.deployer/server.xml
找到 protocol=”HTTP/1.1″的 Connector元素,添加屬性 URIEncoding=”utf-8″ compression=”on” compressionMinSize=”2048″ noCompressionUserAgents=”gozilla, traviata” compressableMimeType=”text/html,text/xml,text/javascript, text/css, text/plain,application/xhtml+xml,application/x-javascript,application/javascript,text/xhtml”
添加完后類似于:
<Connector port=”8080″ address=”${jboss.bind.address}”
maxThreads=”250″ maxHttpHeaderSize=”8192″
emptySessionPath=”true” protocol=”HTTP/1.1″
enableLookups=”false” redirectPort=”8443″ acceptCount=”100″
connectionTimeout=”20000″ disableUploadTimeout=”true” URIEncoding=”utf-8″ compression=”on” compressionMinSize=”2048″ noCompressionUserAgents=”gozilla, traviata” compressableMimeType=”text/html,text/xml,text/javascript, text/css, text/plain,application/xhtml+xml,application/x-javascript,application/javascript,text/xhtml”/>
使用ehcache做hibernate的二級緩存
起用二級緩存,可以大大提高hibernate的運行效率。
到http://ehcache.sourceforge.net/ 網站下載 ehcache-1.4.1.tgz
解壓到某個目錄,例如ehcache目錄
復制 ehcache/ehcache-1.4.1/ehcache-1.4.1.jar, ehcache/ehcache-1.4.1/lib/backport-util-concurrent-3.0.jar和 ehcache/ehcache-1.4.1/lib/jsr107cache-1.0.jar到 <jboss>/server/default/lib目錄
posted on 2010-02-23 14:08 大魚 閱讀(491) 評論(0) 編輯 收藏 所屬分類: JBOSS