性能调优及UNIX操作
发表于:2008-08-25来源:作者:点击数:
标签:
主要内容 1、WebLogic服务的监控 2、WebLogic 性能 优化 3、 UNIX 操作命令介绍 WebLogic服务的监控 WebLogic的控制台console对内存的监控 Console -- server -- myserver -- 右边窗口Mornitoring -- Performance WebLogic服务的监控 Idle Threads 空闲线程数
主要内容
• 1、WebLogic服务的监控
• 2、WebLogic
性能优化
• 3、
UNIX操作命令介绍
WebLogic服务的监控
• WebLogic的控制台console对内存的监控
• Console --> server --> myserver --> 右边窗口Mornitoring --> Performance
WebLogic服务的监控
• Idle Threads 空闲线程数
这个值不能为0,否则意味着系统无线程可用,有死机的危险.
• Queue Length 等待队列的长度
当Idle Threads的值为0时,Queue Length会出现数值。如果Queue Length维持在较高位置,且不下降时,有死机危险。但只要值在变,就说明系统还在运行.
WebLogic服务的监控
• Memory Usage 内存的使用情况
主要看垃圾回收是否频繁,在系统高负载的情况下,内存是否能达到80-90%的使用率。
WebLogic服务的监控
• 查看线程的运行情况
线程是否都为空闲null状态。如不为空闲,看看是什么样的请求在占用线程。
Console --> server --> myserver --> 右键菜单View Execute Threads
如下图所示:
WebLogic服务的监控
• Current Request 当前线程正在处理的请求
• 被占用的线程的情况:46、48、49
占用内容:Socket Reader Request
WebLogic性能优化——内存
一般建议正式的域(Domain)设置为-Xms1024m -Xmx1024m,表示堆的初始大小和最大值都是1024M。
1、修改文件:
Unix为startWebLogic.sh或startManagedWebLogic.sh(集群用);
Windows系统为startWebLogic.cmd或startManagedWebLogic.cmd(集群用)。
• 2、修改位置:为保证我们修改的参数生效,最好将内存参数命令行放在启动
Java虚拟机之前。示例如下:
WebLogic性能优化——内存
• export CLASSPATH
• MEM_ARGS="-Xms1024m -Xmx1024m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:MaxPermSize=256m"
• # Call WebLogic Server
• echo "."
• echo "CLASSPATH=${CLASSPATH}"
• echo "."
• echo "PATH=${PATH}"
• echo "."
• echo "***************************************************"
• echo "* To start WebLogic Server, use a username and *"
• echo "* password assigned to an admin-level user. For *"
• echo "* server administration, use the WebLogic Server *"
• echo "* console at
http://[hostname]:[port]/console *"
• echo "***************************************************"
• ${JAVA_HOME}/bin/
java ${JAVA_VM} ${MEM_ARGS} ${JAVA_OPTIONS} -D
weblogic.Name=${SERVER_NAME} -Dweblogic.ProductionModeEnabled=${PRODUCTION_MODE} -Djava.security.policy="${WL_HOME}/server/lib/weblogic.policy" weblogic.Server
WebLogic性能优化——内存
• 3、注意Unix与Windows的参数差别。AIX和
Linux的参数值要加上双引号,Windows则不需要加。如该加的没加,不该加的加了,就会导致设置的参数不起作用,影响应用系统的性能。
• 4、
Unix系统下参数是否生效的检查。可以使用如下命令:
ps –ef|grep java
如果设置的参数生效,在显示的结果中会看到设置的值。如没有生效,会显示weblogic缺省的值-Xms32m –Xmx200m。
WebLogic性能优化——内存
• 5、Windows下可以使用echo命令,在startWebLogic.cmd文件中查看
echo %MEM_ARGS%
会在dos窗口中输出内存设置的信息。
WebLogic性能优化——线程数
• 线程数Thread Count
weblogic服务在接收到请求后,会交给后台的线程来处理,线程数决定了并发处理能力的大小。
一般以
服务器的CPU个数为基准,每个CPU可负担25个线程,最好不要超过50个
• 查看线程的运行情况,上面已经提到。
WebLogic性能优化——线程数
• 更改线程数Thread Count
server ——> 右键菜单 ——> “View Execute Queues”项查看,如下图:
点击“default”,进入修改页面:
WebLogic性能优化——线程数
• 修改了thread count的值后,要点击“应用(Apply)”按钮,并重启服务后,参数才能生效。
WebLogic性能优化——连接池
•
数据库连接池的初始连接数建议200或以上,如资源允许可设置得更大,但不能操作最大连接数,最大连接数设置800。
•
Oracle的参数processes设置为1000或以上。
• 查看连接池:console->services ->Connection Pools
修改参数
WebLogic性能优化——License
• Weblogic实行License许可制度,免费
下载软件使用的license是受限制的,各个方面都会受到限制。
• license文件的文件名为license.bea,位于weblogic的安装根目录下。
• 文件如下:
WebLogic性能优化——License
• <bea-licenses>
• <license-group format="1.0" product="WebLogic Platform" release="8.1">
• <license
• component="2PC"
• cpus="unlimited"
• expiration="never"
• ip="any"
• licensee="BEA Commercial Customer"
• type="Commercial"
• units="unlimited"
• signature="zH
CClaqBLPISe/tJfo8vPBecDtE=0MCwCFCMCc6O2WuIwtrJyR7i2IkivYYfh
bug=="
• />
WebLogic性能优化——License
• 主要检查4项:cpu、expiratioin、ip、units。
• cpu:支持服务器使用cpu的数量,一般来说服务器都是多cpu的,如果这个值为1或2,等固定的数值,会限制服务器性能的发挥。unlimited表明没有限制,是最好的。
• expiration:表明license文件的使用期限,如果是固定的日期,那么过了此日期,weblogic就不能使用了。而且license文件的内容是不能修改的,不能通过修改此值的方式实现继续使用的目的。never表明永不过期。
WebLogic性能优化——License
• ip:限制了服务器的ip地址,其他ip地址不可以使用。any表示没有ip地址方面的限制。
原文转自:http://www.ltesting.net