用户数、请求数、允许的响应时间
CPU
、内存、网络等信息
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
总体考虑
数据库设计,包括跨磁盘负载分担、数据表的组织和尺寸、索引、日志等
磁盘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
以上的数据块尺寸
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
后的堆可用内存不应增长过多
调整执行队列的线程数,线程数和单笔响应时间成正比
激活native pack
调整backlog buffer
TCP
层可保持的最大的连接数,默认值50
如果客户机无法连接WebLogic Server,
可以调整取值
定制执行队列,指派servlets
、JSPs
、EJBs
到执行队列
保证关键应用高性能的运转
限制非关键应用可占用的资源
防止死锁的发生
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 ...
在使用连接池时,InitialCapacity
和MaxCapacity
应一致,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
console
,Configuarion
à General
à Java
Compiler
以及Configuration
à
General
à Advanced
Options
à Append to classpath
通过weblogic.xml
的jsp-descriptor
参数,compileCommand
和precompile
6
监控磁盘和CPU
的使用情况,包括应用服务器和数据库服务器
Solaris
和Linux
disk, iostat –D
<interval>
CPU, iostat
<interval>
Windows
perfmon
如果数据库CPU
利用率过高,考虑索引的设计;如果磁盘利用率为100%
,可考虑更快的磁盘或RAID
WebLogic Server
的I/O
瓶颈
JMS file store
写操作,事务日志,HTTP
日志,服务器日志
试用禁止同步的JMS
写操作、加大HTTP
日志缓冲区等方法
确定客户机与服务器、服务器与数据库之间的传输数据量
使用命令netstat –s –P tcp,
查看是否有retransmission
的发生
减少日志操作,关闭System.out.println
语句
如果磁盘和网络不是瓶颈,服务器的CPU
利用率又较低,则可能存在锁冲突
使用JProbe
或OptimizeIt
探测系统瓶颈
服务器CPU
利用率达到100%
后,
可继续使用JProbe
或OptimizeIt
调优
EJB
weblogic-ejb-jar.xml
描述
Initial-beans-in-free-pool
|
默认值0
|
Max-beans-in-cache
|
面向stateful session bean
和entity bean,
影响活跃和钝化
|
Max-beans-in-free-pool
|
对于session bean
和MDB
,可以减少实例化开销;对于entity
bean
,用于finder
和home
方法。一般不需要修改,默认值1000
|
监控EJB, Pool Miss Ratio, Destroyed Bean Ratio,
Transaction Rollback Ratio, Transaction Timeout Ratio
等
JSP
和servlet
关闭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版本的专业书籍,旨在帮助读者全面理解和掌握这一强大的Java应用服务器。WebLogic Server是BEA(现已被Oracle收购)开发的一款企业级...
WebLogic Server 8.1J sp4.part1.rar,共两部分,这是第一部分.
WebLogic Server 8.1J sp4.part2.rar,这是第二部分,共有两部分.请将两部分都下载完了,放在一起解压.
【BEA WebLogic Server 8.1 概述】 BEA WebLogic Server 8.1 是一款由BEA公司推出的领先应用服务器,它在构建企业级应用架构中扮演着核心角色。这款产品是BEA WebLogic Enterprise Platform的基础,旨在为企业提供...
《WebLogic Server 8.1 API 参考指南》是Oracle公司发布的针对WebLogic Server 8.1版本的一份重要技术文档,它详尽地介绍了该版本中提供的各种应用程序接口(APIs)。WebLogic Server是Oracle公司的一款企业级Java...
本书是WebLogic开发人员的权威参考... 使用WebLogic Workshop8.1开发WebLogic Server应用程序。 随书光盘包括: 本书讨论的所有源代码。 本书英文原书的电子版本。 BEA WebLogic Platform8.1开发者评估版本。
WebLogic Server 8.1是Oracle公司开发的一款企业级应用服务器,它在Java平台上提供了一个用于构建、部署和管理分布式应用程序的平台。WebLogic Server 8.1的安装过程是IT管理员和开发者需要掌握的关键技能之一,因为...
weblogic server 8.1 的培训文档,适合初学者进行学习。
在2台PC机上做实验,用Apache做代理Server,实现会话接管(Session复制),附带例子(一个是简单的jsp和Session接管的,一个是连接数据库的,这个主要是对集群做压力测试时用的例子)。 我花了很长时间写的配置过程,所以加了...
BEA WebLogic Server 是一种多功能、基于标准的应用服务器,为企业构建自己的应用提供了坚实的基础。各种应用开发、部署所有关键性的任务,无论是集成各种系统和数据库,还是提交服务、跨 Internet 协作,起始点都是...
第十三章 WebLogic Server 8.1 应用程序安全 第十四章 设计产品部署 第十五章 Web 拍卖设计目标 第十六章 WebLogic Workshop 第十七章 Weblogic Server 容量计划 第十八章 Weblogic Platform 8.1 简介 附录A Web ...
#### 一、WebLogic Server 8.1简介 WebLogic Server 是一款由Oracle公司开发的企业级应用服务器,它提供了强大的平台支持Java EE应用程序的部署和运行。WebLogic Server 8.1版本是在2005年发布的,虽然不是最新版本...
BEA WebLogic Platform 8.1实战指南 ,介绍了weblogic方方面面
WebLogic Workshop 8.1的国际化支持有了显著提升,但需要注意的是,它在WebLogic Server环境下运行,因此WebLogic Server的任何限制都可能影响到Web服务的使用。特别是在处理SOAP消息时,编码问题至关重要。 根据...
WebLogic Platform 8.1 whith sp3 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 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 11g Release 1 (10.3.6) E13814-06.pdf
【WebLogic Server 8.1 JMS 入门】 WebLogic Server 8.1 是一款符合J2EE 1.3规范的中间件,其中包含了WebLogic JMS Server,它是基于Java Message Service (JMS) 的实现,允许Java应用程序进行可靠的消息交换。JMS...