`
touchmm
  • 浏览: 1043112 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

WebLogic Server 8.1 Performance Tuning Guide

阅读更多

1 了解性能的目标

用户数、请求数、允许的响应时间

CPU 、内存、网络等信息

2 调优操作系统

Solaris 调优

ndd –set /dev/tcp tcp_time_wait_interval 60000,socket 的关闭保持时间缩短为60 秒(默认为240 秒)

Solaris 2.7 之前,tcp_time_wait_interval 的命名是tcp_close_wait_interval

其它可用ndd –set 调整的参数

参数 建议值

/dev/tcp tcp_time_wait_interval

60000

/dev/tcp tcp_conn_req_max_q

16384

/dev/tcp tcp_conn_req_max_q0

16384

/dev/tcp tcp_ip_abort_interval

60000

/dev/tcp tcp_keepalive_interval

7200000

/dev/tcp tcp_rexmit_interval_initial

4000

/dev/tcp tcp_rexmit_interval_max

10000

/dev/tcp tcp_rexmit_interval_min

3000

/dev/tcp tcp_smallest_anon_port

32768

/dev/tcp tcp_xmit_hiwat

131072

/dev/tcp tcp_recv_hiwat

131072

/dev/tcp tcp_naglim_def

1

/dev/ce instance

0

/dev/ce rx_intr_time

32

可以编辑/etc/system 的参数设定

参数 建议值

set rlim_fd_cur

8192

set rlim_fd_max

8192

set tcp:tcp_conn_hash_size

32768

set shmsys:shminfo_shmmax

Note: This should only be set for machines that have at least 4 GB RAM or higher.

4294967295

set autoup

900

set tune_t_fsflushr

1

Solaris 8 参考docs.sun.com/db/doc/816-0607

Solaris 9 参考docs.sun.com/db/doc/806-7009

HP-UX 调优

参见docs.hp.com/hpux/onlinedocs/TKP-90203/TKP-90203.html

Java 性能调整参见h21007.www2.hp.com/dspp/tech/tech_TechDocumentDetailPage_IDX/1,1701,1602,00.html

AIX 调优

参见publib16.boulder.ibm.com/pseries/en_US/aixbman/prftungd/prftungd02.htm

Linux 调优

可以调整一下mtu, /sbin/ifconfig lo mtu 1500

也可参见ipsysctl-tutorial.frozentux.net/ipsysctl-tutorial.html

Windows 调优(通常情况下,默认的设置是可用的)

参见www.microsoft.com/windows2000/techinfo/howitworks/communications/networkbasics/tcpip_implement.asp

www.microsoft.com/technet/treeview/default.asp?url=/TechNet/prodtechnol/windows2000serv/maintain/optimize/perftune.asp

3 优化数据库

总体考虑

数据库设计,包括跨磁盘负载分担、数据表的组织和尺寸、索引、日志等

磁盘I/O 优化,包括限制I/O 的次数,加大缓冲区等

控制Checkpoint 频率。有些数据库可以,如Oracle, 有些则不行,如SQL Server 7

Oracle 调优(8.1.7 版本)

服务进程数,检查的方法是SELECT name, value FROM v$parameter WHERE name = ’processes’;

共享池尺寸,检查池当前可用值的方法是SELECT * FROM v$sgastat WHERE name = ’free memory’ AND pool = ’shared pool’;

最大打开游标数,检查的方法是SELECT name, value FROM v$sysstat WHERE name LIKE ’opened cursor%’;

数据块尺寸,检查的方法是SELECT name, value FROM v$parameter WHERE name = ’db_block_size’;

SQL Server 调优

tempdb 定位在快速I/O 设备上

如果性能监视显示I/O 频率加快,可以加大恢复间隔时间

采用2KB 以上的数据块尺寸

Sybase 调优

适当加大恢复间隔时间

采用2KB 以上的数据块尺寸

4 确定Java 虚拟机的设置

Sun JDK

-server, -client, -Xms, -Xmx, -XX:NewSize, -XX:MaxNewSize, -XX:SurvivorRatio, -XX:+UseISM, -XX:+AggressiveHeap

Sun JVM 的其它参数见java.sun.com/docs/hotspot/VMOptions.html

JRockit JDK

-Xms, -Xmx, -Xns, -Xgc:parallel, -Xxenablefatspin

堆取值是系统剩余内存的80%

–XX:NewSize, -XX:MaxNewSize 为堆大小的1/4 ,多CPU 环境下适量增大

–XX:SurvivorRatio 可设置成8

不要在benchmark 期生成GC ,观察GC 的方法

Windows, Solaris: … -verbosegc … >> log.txt 2>&1

HP-UX, -Xverbosegc:file=/tmp/gc$$.out

BEA JRockit: -Xgcreport

通过日志时间戳,计算GC 的频度

观察GC 耗费的时间,不要超过5

GC 后的堆可用内存不应增长过多

5 调整WebLogic Server 的参数

调整执行队列的线程数,线程数和单笔响应时间成正比

激活native pack

调整backlog buffer

TCP 层可保持的最大的连接数,默认值50

如果客户机无法连接WebLogic Server, 可以调整取值

定制执行队列,指派servletsJSPsEJBs 到执行队列

保证关键应用高性能的运转

限制非关键应用可占用的资源

防止死锁的发生

JSP, servlet 范例(web.xml

<servlet>
<servlet-name>MainServlet</servlet-name>
<jsp-file>/myapplication/critical.jsp</jsp-file>
<init-param>
<param-name>wl-dispatch-policy</param-name>
<param-value>CriticalAppQueue</param-value>
</init-param>
</servlet>

EJB 范例(weblogic-ejb-jar.xml

<weblogic-enterprise-bean>

<ejb-name>…</ejb-name>

<dispatch-policy>CriticalAppQueue</dispatch-policy>

</weblogic-enterprise-bean>

RMI 对象范例

java weblogic.rmic -dispatchPolicy CriticalAppQueue ...

在使用连接池时,InitialCapacityMaxCapacity 应一致,MaxCapacity 的取值应比线程数大

设定SQL 语句缓存

指派Application-Level Caching, 范例(weblogic-application.xml

<weblogic-application>

<ejb>

<entity-cache>

<entity-cache-name>large_account</entity-cache-name>

<max-cache-size>

<megabytes>1</megabytes>

</max-cache-size>

</entity-cache>

</ejb>

</weblogic-application>

调整Java 编译器

通过admin consoleConfiguarion à General à Java Compiler 以及Configuration à General à Advanced Options à Append to classpath

通过weblogic.xmljsp-descriptor 参数,compileCommandprecompile

6 监控磁盘和CPU 的使用情况,包括应用服务器和数据库服务器

SolarisLinux

disk, iostat –D <interval>

CPU, iostat <interval>

Windows

perfmon

如果数据库CPU 利用率过高,考虑索引的设计;如果磁盘利用率为100% ,可考虑更快的磁盘或RAID

WebLogic ServerI/O 瓶颈

JMS file store 写操作,事务日志,HTTP 日志,服务器日志

试用禁止同步的JMS 写操作、加大HTTP 日志缓冲区等方法

7 监控网络上的数据传输

确定客户机与服务器、服务器与数据库之间的传输数据量

使用命令netstat –s –P tcp, 查看是否有retransmission 的发生

8 检查频繁的标准输出或日志

减少日志操作,关闭System.out.println 语句

9 定位应用的瓶颈

如果磁盘和网络不是瓶颈,服务器的CPU 利用率又较低,则可能存在锁冲突

使用JProbeOptimizeIt 探测系统瓶颈

服务器CPU 利用率达到100%, 可继续使用JProbeOptimizeIt 调优

10 调整应用

EJB

weblogic-ejb-jar.xml 描述

Initial-beans-in-free-pool

默认值0

Max-beans-in-cache

面向stateful session beanentity bean, 影响活跃和钝化

Max-beans-in-free-pool

对于session beanMDB ,可以减少实例化开销;对于entity bean ,用于finderhome 方法。一般不需要修改,默认值1000

监控EJB, Pool Miss Ratio, Destroyed Bean Ratio, Transaction Rollback Ratio, Transaction Timeout Ratio

JSPservlet

关闭JSP 页面检查和servlet 重加载

使用基于内存的session 持久策略

预编译JSP

JMS

不要使用JMS message selectors

使用异步的方式(onMessage )接收消息

参见dev2dev.bea.com/products/wlserver/whitepapers/WL_JMS_Perform_GD.jsp

Session 管理

Session 影响性能

客户机cookie 值得考虑

使用本地变量保持对象

聚合对象,然后放入session

分享到:
评论

相关推荐

    BEA WebLogic Server 8.1 Unleashed

    《BEA WebLogic Server 8.1 Unleashed》是一本深入探讨BEA WebLogic Server 8.1版本的专业书籍,旨在帮助读者全面理解和掌握这一强大的Java应用服务器。WebLogic Server是BEA(现已被Oracle收购)开发的一款企业级...

    WebLogic Server 8.1J sp4.part1.rar

    WebLogic Server 8.1J sp4.part1.rar,共两部分,这是第一部分.

    WebLogic Server 8.1J sp4.part2.rar

    WebLogic Server 8.1J sp4.part2.rar,这是第二部分,共有两部分.请将两部分都下载完了,放在一起解压.

    BEA WebLogic Server 8.1 概述BEA 白皮书.doc

    【BEA WebLogic Server 8.1 概述】 BEA WebLogic Server 8.1 是一款由BEA公司推出的领先应用服务器,它在构建企业级应用架构中扮演着核心角色。这款产品是BEA WebLogic Enterprise Platform的基础,旨在为企业提供...

    WebLogic Server 8.1 API Reference

    《WebLogic Server 8.1 API 参考指南》是Oracle公司发布的针对WebLogic Server 8.1版本的一份重要技术文档,它详尽地介绍了该版本中提供的各种应用程序接口(APIs)。WebLogic Server是Oracle公司的一款企业级Java...

    BEA WebLogic Server8.1大全 源码

    本书是WebLogic开发人员的权威参考... 使用WebLogic Workshop8.1开发WebLogic Server应用程序。 随书光盘包括:  本书讨论的所有源代码。  本书英文原书的电子版本。  BEA WebLogic Platform8.1开发者评估版本。

    weblogic8.1安装包

    WebLogic Server 8.1是Oracle公司开发的一款企业级应用服务器,它在Java平台上提供了一个用于构建、部署和管理分布式应用程序的平台。WebLogic Server 8.1的安装过程是IT管理员和开发者需要掌握的关键技能之一,因为...

    weblogic server 8.1 的培训文档-ppt

    weblogic server 8.1 的培训文档,适合初学者进行学习。

    WebLogic Server8.1集群配置

    在2台PC机上做实验,用Apache做代理Server,实现会话接管(Session复制),附带例子(一个是简单的jsp和Session接管的,一个是连接数据库的,这个主要是对集群做压力测试时用的例子)。 我花了很长时间写的配置过程,所以加了...

    BEA WebLogic Portal 8.1产品介绍

    BEA WebLogic Server 是一种多功能、基于标准的应用服务器,为企业构建自己的应用提供了坚实的基础。各种应用开发、部署所有关键性的任务,无论是集成各种系统和数据库,还是提交服务、跨 Internet 协作,起始点都是...

    J2EE应用与BEA.WebLogic.Server第2版.pdf

    第十三章 WebLogic Server 8.1 应用程序安全 第十四章 设计产品部署 第十五章 Web 拍卖设计目标 第十六章 WebLogic Workshop 第十七章 Weblogic Server 容量计划 第十八章 Weblogic Platform 8.1 简介 附录A Web ...

    Weblogic 8.1的安装与配置.doc

    #### 一、WebLogic Server 8.1简介 WebLogic Server 是一款由Oracle公司开发的企业级应用服务器,它提供了强大的平台支持Java EE应用程序的部署和运行。WebLogic Server 8.1版本是在2005年发布的,虽然不是最新版本...

    BEA WebLogic Platform 8.1实战指南

    BEA WebLogic Platform 8.1实战指南 ,介绍了weblogic方方面面

    配置weblogic 8.1

    WebLogic Workshop 8.1的国际化支持有了显著提升,但需要注意的是,它在WebLogic Server环境下运行,因此WebLogic Server的任何限制都可能影响到Web服务的使用。特别是在处理SOAP消息时,编码问题至关重要。 根据...

    WebLogic Platform 8.1 whith sp3

    WebLogic Platform 8.1 whith sp3 WebLogic 8.1

    weblogic 8.1安装与设置

    WebLogic Server 8.1是Oracle公司开发的一款企业级Java应用服务器,它是基于Java EE(Java Platform, Enterprise Edition)标准的,主要用于构建、部署和管理分布式应用程序。在本篇文章中,我们将深入探讨WebLogic ...

    weblogic 8.1 plugin for Eclipse 3.4

    weblogic 8.1 plugin for Eclipse 3.4 weblogic 8.1 plugin for Eclipse 3.4 weblogic 8.1 plugin for Eclipse 3.4

    BEA Weblogic Workshop 8.1

    - **利用WebLogic Server特性**:Page Flow充分利用WebLogic Server的关键特性如高可用性、可扩展性和安全性等。 #### 二、Page Flow编程模型 Page Flow的编程模型基于Struts Model 2的MVC模式: - **Model (M)**...

    Oracle® Fusion Middleware Performance and Tuning for Oracle WebLogic Server.pdf

    Oracle® Fusion Middleware Performance and Tuning for Oracle WebLogic Server 11g Release 1 (10.3.6) E13814-06.pdf

    WebLogic_server8.1_JMS入门.doc

    【WebLogic Server 8.1 JMS 入门】 WebLogic Server 8.1 是一款符合J2EE 1.3规范的中间件,其中包含了WebLogic JMS Server,它是基于Java Message Service (JMS) 的实现,允许Java应用程序进行可靠的消息交换。JMS...

Global site tag (gtag.js) - Google Analytics