Jboss 4.2.3配置与优化



Jboss 4.2.3配置与优化

1 Jboss内存优化修改这个两参数,给jvm分配适当的内存,一般为服务器的3/4内存量,推荐至少使用4G内存。
另外添加两个参数 -XX:+UseParallelGC -XX:+UseParallelOldGC 这两个让服务并行回收内存空间。
-server:一定要作为第一个参数,在多个CPU时性能佳
-Xms:初始Heap大小,使用的最小内存,cpu性能高时此值应设的大一些
-Xmx:java heap最大值,使用的最大内存

上面两个值是分配JVM的最小和最大内存,取决于硬件物理内存的大小,建议均设为物理内存的一半。

-XX:PermSize:设定内存的永久保存区域

-XX:MaxPermSize:设定最大内存的永久保存区域

-XX:MaxNewSize:

-Xss 15120 这使得JBoss每增加一个线程(thread)就会立即消耗15M内存,而最佳值应该是128K,默认值好像是512k.

+XX:AggressiveHeap 会使得 Xms没有意义。这个参数让jvm忽略Xmx参数,疯狂地吃完一个G物理内存,再吃尽一个G的swap。

-Xss:每个线程的Stack大小

-verbose:gc 现实垃圾收集信息

-Xloggc:gc.log 指定垃圾收集日志文件

-Xmn:young generation的heap大小,一般设置为Xmx的3、4分之一-XX:+UseParNewGC :缩短minor收集的时间

-XX:+UseConcMarkSweepGC :缩短major收集的时间

 

修改完成后,大致为
JAVA_OPTS=”=”-server -Xms128m –Xmx2048m –Xss512k -XX:PermSize=128m -XX:MaxPermSize=512m -XX:MaxNewSize=256m -XX:+UseParallelGC -XX:+UseParallelOldGC -Dfile.encoding=GBK”

2 Jboss部署目录优化 去掉和应用无关的部署,加快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

3 Jboss应用安全加固去掉:
Tomcat status (full) (XML)

JMX Console

JBoss Web Console

删除deploy下的jmx-console.war/ management/
[root@190MEM deploy]# pwd

/usr/local/jboss/server/default/deploy

[root@190MEM deploy]# ls jmx-console.war/ management/

jmx-console.war/:

checkJNDI.jsp displayMBeans.jsp images inspectMBean.jsp META-INF WEB-INF

cluster displayOpResult.jsp index.jsp jboss.css style_master.css

 

management/:

console-mgr.sar

[root@190MEM deploy]#

 

4 降低jboss输出日志的等级打开 <jboss>/server/default/conf/jboss-log4j.xml ,这是一个log4j的配置文件。
日志输出的太多,会导致服务器性能降低,所以减少不必要的日志输出。方法大体如下:

 

5 起用了jboss内的tomcat对传输数据的压缩功能合同管理里用了大量的javascript css等,为了减少传输时间,可以起用压缩功能。方法是:
1. 打开<jboss>/server/default/deploy/jboss-web.deployer/server.xml

2. 找到 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”/>