weblogic9调优

weblogic9调优

 

一、操作系统

1、网络参数

设置回路最大传输单元为1500bytes

ifconfig lo mtu 1500

 

2、操作系统核心参数

sysctl.conf中加入以下行后运行sysctl p

kernel.msgmni=1024

kernel.sem=1000 32000 32 512

fs.file-max=65535

kernel.shmmax=2147483648

net.ipv4.tcp_max_syn_backlog=8192

 

二、java性能调整

1、内存参数

    -Xms-Xmx控制整个堆的原始大小或最大值,一般而言整个jvm的堆栈不应超过物理内存的3/4-Xmn控制新域的初始值和最大值设置,一般而言新域大小应该占整个1/41/2之间,通常我们设置为1/3

编辑/home/mw/weblogic/user_projects/domains/CBPSDomain/bin/setDomain.sh

将默认的MEM_ARGS="-Xms256m -Xmx512m"修改为

MEM_ARGS="-Xms1024m -Xmx1024m -Xmn384m"

保存并重启weblogic

 

2、选择BEA Jrockit作为jdk

    BEA Jrockitbea专门针对安腾做过了优化的JVM,性能和效率都比SUN jdk大大提高。

编辑/home/mw/weblogic/user_projects/domains/CBPSDomain/bin/setDomain.sh

说明之后加入

JAVA_VENDOR=BEA

export JAVA_VENDOR

默认的MEM_ARGS="-Xms256m -Xmx512m"修改为

MEM_ARGS="-Xms1024m -Xmx1024m -Xgc:parallel -XXgcthreads:5"

 

 

 

三、weblogic性能调整

1、模式选择

将开发模式修改为产品模式,进入console--》锁定并编辑》点击CBPSDomain》选择配置》常规》将开发模式修改为生产模式》激活更改》重启weblogic服务

参数

开发模式默认值

产品模式默认值

Execute Queue: Thread Count

15 threads

25 threads

JDBC Connection Pool: MaxCapacity

15 connnections

25 connections

 

 

2、开启本地IO

进入console--》锁定并编辑》点击CBPSDomain》点击环境》点击服务器》点击CBPSServer》配置》调整》锁定并编辑》勾选启用本地 IO—》激活更改》重启weblogic服务。

 

3、调优TCP连接缓存数

WebLogic ServerAccept Backlog参 数规定服务器向操作系统请求的队列大小,默认值为50。当系统重载负荷时,这个值可能过小,日志中报Connection Refused,导致有效连接请求遭到拒绝,此时可以提高Accept Backlog 25%直到连接拒绝错误消失。

进入console--》锁定并编辑》点击CBPSDomain》点击环境》点击服务器》点击CBPSServer》配置》调整》锁定并编辑》修改接受预备连接的数量》激活更改》重启weblogic服务。

 

3、调整线程数

修改config.xml

    thread数量调整原则为单个cpu最多对应50thread推荐每cpu25thread调整后确保cpu占用率在百分之九十左右效果最佳。

config.xml中的加入黄色部分重启weblogic服务。该段内容是将默认的thread池中thread数量修改为100个。

<server>

    <name>sisServer</name>

    <log>

      <number-of-files-limited>true</number-of-files-limited>

      <log-file-severity>Debug</log-file-severity>

    </log>

    <execute-queue>

      <name>default</name>

      <thread-count>200</thread-count>

    </execute-queue>

    <use81-style-execute-queues>true</use81-style-execute-queues>

    <listen-port>8000</listen-port>

    <listen-address></listen-address>

    <server-diagnostic-config>

      <diagnostic-context-enabled>true</diagnostic-context-enabled>

    </server-diagnostic-config>

  </server>

 

 

4、调整JDBC

JDBC Connection Pool的调优受制于WebLogic Server线程数的设置和数据库进程数,游标的大小。

增加Statement Cache Size对于大量使用PreparedStatement对象的应用程序很有帮助,WebLogic能够为每一个连接缓存这些对象,此值默认为10。在保 证数据库游标大小足够的前提下,可以根据需要提高Statement Cache Size。比如当你设置连接数为25,Cache Size10,数据库可能需要打开25*10=250个游标。不幸的是,当遇到与PreparedStatement Cache有关的应用程序错误时,你需要将Cache Size设置为0

尽管JDBC Connection Pool提供了很多高级参数,在开发模式下比较有用,但大部分在生产环境下不需调整。这里建议最好不要设置测试表同时Test Reserved ConnectionsTest Released Connections也无需勾上。 当然如果你的数据库不稳定,时断时续,你就可能需要上述的参数打开。

Oracle提供thin驱动和oci驱动,从性能上来讲,oci驱动强于thin驱动,特别是大数 据量的操作。但在简单的数据库操作中,性能相差不大,随着thin驱动的不断改进,这一弱势将得到弥补。而thin驱动的移植性明显强于oci驱动。所以 在通常情况下建议使用thin驱动。

设置jdbc最小容量=jdbc最大容量=或略小于thread数。

<!--EndFragment-->

猜你喜欢

转载自pengfeicao521.iteye.com/blog/1852070