WLS性能调优.ppt

上传人:hyn****60 文档编号:70979293 上传时间:2023-01-31 格式:PPT 页数:52 大小:1.04MB
返回 下载 相关 举报
WLS性能调优.ppt_第1页
第1页 / 共52页
WLS性能调优.ppt_第2页
第2页 / 共52页
点击查看更多>>
资源描述

《WLS性能调优.ppt》由会员分享,可在线阅读,更多相关《WLS性能调优.ppt(52页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、WLS Performance TuningJerry HuJ内容内容性能调优概述Oracle 高性能产品及技术简介操作系统调优网络调优JVM 调优WebLogic Server调优一个一个Web系统的性能是由多种因素决定的系统的性能是由多种因素决定的性能优化的准则性能优化的准则性能调整并不是万全之策性能调整并不是万全之策简而言之,高系统性能取决于:良好的设计、良好的实现、明确的性能目标和性能调整。性能调整是一个持续不断的过程性能调整是一个持续不断的过程。其目的在于达到性能目标,而不是消除所有瓶颈。系统中的资源有限。根据定义,系统中至少有一种资源(CPU、内存或 I/O)是瓶颈。通过调整可将瓶

2、颈对性能目标的影响降到最低程度。设计应用程序时要考虑到性能设计应用程序时要考虑到性能:保持设计的简单性 避免不当使用已发布模式。应用 Java EE 性能模式。优化 Java 代码。衡量的标准及关注点衡量的标准及关注点系统响应时间TPS扩展性其他内容内容性能调优概述Oracle 高性能产品及技术简介操作系统调优网络调优JVM 调优WebLogic Server调优NetworkOracle 全面满足客户的高性能需求全面满足客户的高性能需求WebCacheWeb ServersApplication ServersCoherenceRACTimes TenHTML Data Structures

3、 in MemoryJava Data Structures in MemorySQL Data Structures in MemoryWeb Cache offloads Web Servers,Improves Network Performance via CompressionCoherence caches Java Structures in Memory;Very Fast Access to Java Data in Memory across Mid-Tier GridTimes Ten&RAC provide Scalability to Database Data im

4、proving Query&Transaction Write PerformanceWeb TierApplication TierDatabase TierTimesTen:针对物理内存而特别设计优化的数据库针对物理内存而特别设计优化的数据库所有数据存于物理内存 采用关系型数据模型 针对物理内存而特别设计优化的数据存储结构与算法 多进程/多线程共享数据存储(Data Store)嵌入式 或 客户机-服务器式标准 APIs(ODBC,JDBC,SQL-92)易于安装与配置 Application-Tier PlatformNetworkIn-MemoryDatabase(s)Applicat

5、ionTimesTenlibrariesTransaction Logs.Client-ServerCheckpoint filesApplicationTimesTenlibraries内存数据库与磁盘数据库的比较内存数据库与磁盘数据库的比较数据库特性数据库特性Oracle Database 10gOracle TimesTen In-Memory Database目标应用关键业务应用关键业务应用关键业务应用关键业务应用数据模型关系型关系型-SQL关系型关系型-SQL优化磁盘为中心磁盘为中心内存为中心内存为中心典型部署方式数据库层数据库层应用层应用层架构客户机客户机/服务器服务器嵌入式(直接

6、数据访问嵌入式(直接数据访问)响应时间毫秒到秒级毫秒到秒级微秒到毫秒级微秒到毫秒级数据容量TB到到PB级级GB级级可扩展性Cluster(RAC)&SMPSMP内存数据网格内存数据网格Coherence提供单一、可靠、一致的数据层提供同台的数据保存能力,包括容错和负载均衡保证了数据容量按照处理能力线性升级在不同应用,同一个应用的不同模块之间方便的共享数据MainframesDatabasesWeb ServicesEnterprise ApplicationsReal TimeClientsWebServicesApplication TierCoherenceData GridData So

7、urcesData Services内存数据网格内存数据网格CoherenceCachingAnalyticsTransactionsEvents内容内容性能调优概述Oracle 高性能产品及技术简介操作系统调优网络调优JVM 调优WebLogic Server调优操作系统调优操作系统调优每种操作系统缺少的优化参数是不同的。在Windows平台,缺省的设置通常就足够了,在UNIX和Linux通常需要进行适当的调整UNIX和Linux通常需要调整以下一些参数设置Swap空间Process and threadsTcp parametersFile Descriptor在调优测试时,应使用系统监控

8、工具来收集资源利用的情况,如cpu利用率,磁盘I/O,网络效率等文件描述符文件描述符操作系统把TCP套接字当做一种特殊的文件存取格式来处理,并使用文件描述符来跟踪记录操作系统进程打开的套接字和文件。为了控制资源的使用情况,操作系统会限制每个进程打开的文件描述符的数量默认情况下,一个进程可获得的文件描述符的数量取决于操作系统的类型及它的配置情况Time wait interval应用程序关闭的TCP连接在被操作系统释放前,将先进入等待状态。套接字处于等待状态的时间称为time wait interval。在这种状态下,操作系统会维护分配给该socket的资源,包括文件描述符This parame

9、ter determines the time interval that a TCP socket is kept alive after issuing a close callswap空间空间太多的Swap空间会浪费磁盘空间,而太少的Swap空间,则系统会发生错误,如果Swap空间用完,则服务进程无法启动,通常会出现“application is out of memory”的错误,严重时会造成服务进程的死锁。Swap分区的数量对性能也有很大的影响操作系统调优参考操作系统调优参考http:/ (solaris9)http:/ 高性能产品及技术简介操作系统调优网络调优JVM 调优WebLo

10、gic Server调优带宽带宽带宽指的是传输系统能够响应的信号的最高频率,因此它反映了传输系统的容量网络调优应监控几个关键的网络统计值(数据包再发送,重复数据包,数据包监听丢失)以监控网络性能,解决性能问题时,不要忘记检查数据包丢失或错误应该确保应用系统有足够的带宽,如客户端到WebLogic Server,WebLogic Server,到数据库服务器之间的带宽,在一机器上运行的WebLogic Server,必须要有充足的带宽来处理维护所有WebLogic Server,客户端的连接。在集群中,Servlets和EJBs复制session信息需要更大的网络带宽使用压缩,如gzipLAN

11、InfrastructureLAN必须有足够的处理应用高峰的能力。如果网络流量经常大于网络资源的承载能力,则需要:重新设计网络和重新分配负载减少客户端数量提高系统对网络负载的处理能力网络监控与调优网络监控与调优网络调优应监控几个关键的网络统计值(数据包再发送,重复数据包,数据包监听丢失)以监控网络性能,解决性能问题时,不要忘记检查数据包丢失或错误netstat(显示协议统计和当前的 TCP/IP 网络连接)netstat-a-e-n-s-p protocol-r interval内容内容性能调优概述Oracle 高性能产品及技术简介操作系统调优网络调优JVM 调优WebLogic Server

12、调优JVMJVM vendor and version推荐使用经过WLS认证的JVMs在IA架构的系统上应考虑使用JrockitJRockit BenefitsWeblogic JRockit JVM is designed for server-side applications.It employs adaptive optimization to significantly improve runtime performance.It has adaptive garbage collection and heap management.It offers full support fo

13、r 32 and 64 bit JRockit on Intel EM64T/AMD64 and compatibles.JRockit also supports Solaris/Sparc architecture.It offers support for very large heaps on 64 bit platforms.JRockit Mission Control tools suite offers better management,tuning and troubleshooting.BEA JRockit Mission Control-ArchitectureJRo

14、ckit Management ConsoleGC影响 GC 的几点 对象创建的频率 对象的Life Spans Type of Objects Relations between Objects 不要使用 System.gc(),因为这是个 Full GC,中断时间会比较长,效率低。也不要使用 finalize()方法。Object 不需要时,显示的将其赋值为 null 多用 Pool,但是小的 Object 不要使用 pool,因为会带来 GC 的效率问题 手工进行手工进行GCthread Dumpsthread dumps记录了current stack trace,state,and

15、name of the threads。调用的堆栈包含完整的类名,所执行的方法,如果可能的话还有源代码的行数。可以使用thread dumps来分析应用的挂起、退出和响应时间较差的情况Thread dump确定执行线程在每次dump都有进展特别注意以下MW状态的线程I/O,call DBLoop Backs连接外部的servers执行线程同步造成的死锁检测WLS 线程死锁从 正确等待锁的线程开始找到目前锁的拥有者,推断Blocked原因JVM调优参考调优参考Tuning Garbage Collection with the 1.4.2 Java Virtual MachineJava Hot

16、Spot VM Options Big Heaps and Intimate Shared MemoryPerformance Documentation for the Java HotSpot VMAnalyzing Java Application Problems 内容内容性能调优概述Oracle 高性能产品及技术简介操作系统调优网络调优JVM 调优WebLogic Server调优Tuning WebLogic Server-Native IO WLS为一些平台提供性能包,这些性能包更紧密地结合平台的I/O操作提高了应用程序性能,激活本地的I/O性能包将产生很大的性能提高Tuning

17、 WebLogic Server-AcceptBacklogWLS使用AcceptBacklog参数规定WLS向操作系统请求的队列的大小,AcceptBacklog属性决 定了在等待队列(监听队列)中最多可以有多少TCP连接等待处理,默认值为50如果在许多客户端连接被拒绝,而在服务器端没有错误显示,说明该值设得过低如果连接时收到了”connection refused”消息,可以适当增大weblogic.system.acceptBacklog的值,每次增加25Tuning WebLogic Server-Timeout Login Timeout The login timeout(betw

18、een 0 and 100000 milliseconds)for this servers default regular(non-SSL)listen port.This is the maximum amount of time allowed for a new connection to establish.A value of 0 indicates there is no maximum.SSL Login Timeout The login timeout(between 0 and 100000 milliseconds)for this servers default SS

19、L listen port.This is the maximum amount of time allowed for a new connection to establish.A value of 0 indicates there is no maximum.Tuning WebLogic Server-Keep-AliveKeep-Alive是Http1.1的一个重要特性,Web Server可以在一个给定的时间周期内,对于一个客户机的所有请求只需打开一个套接字Tuning WebLogic Server-Web ContainerSynchronizationUncommon,bu

20、t crippling factorHTTP Session ManagementIsolate session data that changes frequently into a separate attributeIsolate session data that changes in tandem into same attributeTuning WebLogic Server-Web Container Disable Servlet and JSP page checksDefault for production mode in 9.0jsp-param pageCheckS

21、econds=-1servlet-reload-check-secs=-1 in container-descriptorServletReloadCheckSecs=-1 in WebAppComponent element in config.xmlFor JSPs,both of these have to be setGains of 5%to 8%have been observedJSP caching tagSupport both output and input cachingWLS-proprietaryTuning WebLogic Server-EJB Containe

22、r GeneralUse proven session-faade patternAvoid“RequiresNew”transaction attributeUse local interfaces or call-by-referenceStateless Session Beans and Message Driven BeansMax-beans-in-free-pool and Initial-beans-in-free-poolStateful Session BeansMax-beans-in-cache large enough to handle concurrent use

23、rsAvoid SFSB replicationTuning WebLogic Server-JMS Excellent Reference:“BEA WebLogic JMS Performance Guide”http:/ WARNING:A lot of information is out-dated for 9.0JMS PoolingPool and/or cache JMS resources when possible:Avoid creating and closing a connection,session,producer,consumer,or temporary d

24、estination for each message Resource Pooling in EJBs and ServletsJMS StoreFile-store in 9.0 much faster,as in 8.1 SP4Prefer file-stores over DB storesTuning WebLogic Server-JMS Message PipelinePipeline of in-flight messages between a client and consumerSince 9.1,also works for synchronous consumersT

25、une via messages-maximum on the connection factoryInteraction with max-message-sizeRule of thumb:MM=300K/avg-message-sizeControlling memory usage:Paging and QuotasMessages paged onto disk to conserve memoryDegrades performance when it occurs,but may be necessaryPaging tuning changed drastically in 9

26、.0,default is trueQuotas limit number of messages on destination that are pending deliveryTuning WebLogic Server-JMS Server-side SAFClusterableReplaces bridging between WebLogic 9.x destinationsUp to 50%fasterNo transactions for exactly-once persistent messagingTune via window-interval and window-ba

27、tchComing SoonA lot of new JMS performance features and improvements in 9.xUpdated JMS Performance and Tuning GuideTuning WebLogic Server-JDBC Connection Poolingmin-capacity=max-capacityBig overhead:ConnectionLeakProfiling,CheckConnectionOnReserve/Release,AutoJDBCConnectionClosePool size sum of thre

28、ad-counts of all execute queues expected to perform DB operationsJDBC DriverChoosing the right driver important type 2 driver not necessarily fasterOracle 10g thin driver significantly faster than the 9i thin driver8.1 has new type 4 driversFor Oracle 10g,use driver property WireProtocolMode=2Tuning

29、 WebLogic Server-JDBC Prepared-statement cacheConnection-specific cache of compiled SQL statementsRequires use of java.sql.PreparedStatementDefault is 10,should be set to total number of prepared statements in the applicationStatementCacheSize setting in config.xml for 8.1 and laterPreparedStatement

30、CacheSize in config.xml for 7.0 and earlierFor EJB applications,a rough calculation isno.of prepared statements (no.-of-finders+no.-of-field-groups+3)*(no.-of-CMP Beans)Actual number could be higherTuning WebLogic Server-XA XA Overhead Transaction loggingLogging Last Resource(LLR)optimization(new in

31、 9.0)http:/e- separate physical drives for transaction logs and JMS file storesTransaction Log files can use Direct-WriteInefficient XA implementation of JDBC driversAdditional DB work 2PC RequirementJDBC and JMS in a transactionUsing 2 destinations from different JMS servers in a transactionTuning

32、WebLogic Server-WebServicesConfigurables same as for Web container and Core server Design And Coding RecommendationsUse for course-grained serviceControl name-spaces declarationsReplicate or cache data/schema definitions where possible Security OverheadNetwork Level Security(HTTPS)Message Level Secu

33、rity(WS-Security)Access Level SecurityAvoid serializer overheadTry and re-use data-typesTuning WebLogic Server-WebServicesDesign And Coding Recommendations(contd.)Consider an asynchronous messaging model forSlow or unreliable transportComplex or long-running processingWeb Service Reliable Messaging

34、Store-and-ForwardWindowInterval for lower individual SAF ratesWindowSize on SAF agents when using smaller messages“Transactional SOA using JDBC+JMS JDBC Logging Last Resource(LLR)optimizationUseful ResourcesSelf-Tuning&Work-Manager Documentationhttp:/e- Server Performance&Tuning Guide(work in progress)http:/e- Server JMS Performance Guidehttp:/

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁