您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > WebSphere+Application+Server+性能调优
©2008IBMCorporationWebSphereWebSphere应用服务器性能优化应用服务器性能优化应用服务器性能优化应用服务器性能优化应用服务器性能优化应用服务器性能优化应用服务器性能优化应用服务器性能优化隋鹏飞隋鹏飞隋鹏飞隋鹏飞隋鹏飞隋鹏飞隋鹏飞隋鹏飞suipf@cn.ibm.comsuipf@cn.ibm.com©2008IBMCorporation2主要内容主要内容主要内容主要内容主要内容主要内容主要内容主要内容性能优化概述性能优化概述性能优化概述性能优化概述基本概念基本概念基本概念基本概念一般原则一般原则一般原则一般原则常见性能问题及其诊断方法常见性能问题及其诊断方法常见性能问题及其诊断方法常见性能问题及其诊断方法JVM性能问题性能问题性能问题性能问题服务器配置问题服务器配置问题服务器配置问题服务器配置问题应用编码应用编码应用编码应用编码问题问题问题问题演示演示演示演示©2008IBMCorporation3性能优化概述性能优化概述性能优化概述性能优化概述©2008IBMCorporation4性能的度量性能的度量性能的度量性能的度量性能的度量性能的度量性能的度量性能的度量性能的三要素1)响应时间2)吞吐率3)并行度Little定律定律定律定律::::并行度=吞吐率×响应时间PeterDenning简明扼要地将这条法则表述为”队列中物体的平均数量为进入速率与平均停留时间的乘积”。他将这条法则应用于他的酒窖:”在我的地下室里有150箱酒,我每年喝掉25箱并买入25箱,那么每箱酒保存的时间是多长?Little定律告诉我,用150箱除以25箱/年,得到答案6年。”©2008IBMCorporation5性能与哪些因素相关性能与哪些因素相关性能与哪些因素相关性能与哪些因素相关性能与哪些因素相关性能与哪些因素相关性能与哪些因素相关性能与哪些因素相关©2008IBMCorporation6排队网络模型排队网络模型排队网络模型排队网络模型排队网络模型排队网络模型排队网络模型排队网络模型排队模型输入规则、服务规则、和服务机构三个基本要素性能指标:队长(等待队长+服务人数),逗留时间(排队时间+服务时间),服务能力(吞吐率)逗留时间逗留时间逗留时间逗留时间////队长队长队长队长====服务时间服务时间服务时间服务时间////服务人数服务人数服务人数服务人数窗口1窗口2窗口3窗口4窗口5|||||||||||||减少排队增加窗口加快每个窗口的处理速度©2008IBMCorporation7排队网络模型排队网络模型排队网络模型排队网络模型排队网络模型排队网络模型排队网络模型排队网络模型HTTPServerWebContainerEJBContainerDBMQ宏观排队网络微观排队网络WebContainer:LockCPUIO©2008IBMCorporation8Top10Top10监控信息监控信息监控信息监控信息监控信息监控信息监控信息监控信息©2008IBMCorporation9性能调优的一般步骤性能调优的一般步骤性能调优的一般步骤性能调优的一般步骤性能调优的一般步骤性能调优的一般步骤性能调优的一般步骤性能调优的一般步骤初始状态定位到性能瓶颈排除瓶颈是否满足性能要求结束YesNo1)查看排队情况2)查看窗口的繁忙情况3)查看响应时间4)追踪长事务1)调整性能参数2)优化代码3)优化架构4)调整业务逻辑©2008IBMCorporation10性能瓶颈定位方法性能瓶颈定位方法性能瓶颈定位方法性能瓶颈定位方法性能瓶颈定位方法性能瓶颈定位方法性能瓶颈定位方法性能瓶颈定位方法排查追踪分析©2008IBMCorporation11一般原则一般原则一般原则一般原则一般原则一般原则一般原则一般原则((((((((11))))))))尽可能增加服务能力尽可能增加服务能力尽可能增加服务能力尽可能增加服务能力合理限制并发度以减少合理限制并发度以减少合理限制并发度以减少合理限制并发度以减少队列长度队列长度队列长度队列长度后端优先后端优先后端优先后端优先,,,,下游优先下游优先下游优先下游优先优化代码优化SQL将系统能力发挥到最大,但不能超过系统的最大承载能力优先调整子系统和后端系统©2008IBMCorporation12一般原则一般原则一般原则一般原则一般原则一般原则一般原则一般原则((((((((22))))))))Betterperformance(lessCPU),buthighermemoryconsumption!©2008IBMCorporation13动态缓存动态缓存动态缓存动态缓存动态缓存动态缓存动态缓存动态缓存在程序设计阶段考虑缓存把缓存作为设计的一部分不同层面的缓存设计Servlet/JSPcachingDatacachingWebService©2008IBMCorporation14常见问题及其解决方法常见问题及其解决方法常见问题及其解决方法常见问题及其解决方法©2008IBMCorporation15大纲大纲大纲大纲大纲大纲大纲大纲JVM性能优化WAS性能优化应用优化©2008IBMCorporation16NativeHeapNativeHeap与与与与与与与与JavaHeapJavaHeapJavaHeap–连续的存储空间–大小为-XmxJustInTime(JIT)Compiler–Runtimedata–StoringexecutablecodeVirtualMachineResources–DebugEngine•–TraceBuffers•–DumpBuffers–GCInfrastructureJNIAllocations–通过malloc/new分配–Jni接口本身©2008IBMCorporation17JVMMemoryManagementJVMMemoryManagementGlobalHeapThreadLocalHeapWildernessThreadAStackStackThreadBThreadLocalHeapSystemHeap(JDK1.4.2)UsedHeapThreadLocalHeapUsedHeapUsedHeapGarbageCollectorHeaplock©2008IBMCorporation18JavaJava内存泄漏内存泄漏内存泄漏内存泄漏内存泄漏内存泄漏内存泄漏内存泄漏HeaderSummaryRootPathContainerUnit©2008IBMCorporation19JavaJava大对象分配大对象分配大对象分配大对象分配大对象分配大对象分配大对象分配大对象分配SummaryLargeObjectRootLargeObjectLargeObjectLargeObjectHeaderALLOCATION_THRESHOLD=Size©2008IBMCorporation20GCPerformanceTuningGCPerformanceTuningTwothingstolookatinGC:frequencyanddurationFrequencydependsontheheapsizeandallocationrateDurationdependsontheheapsizeandnumberofobjectsintheheapPolicyHeapSizeandOtherjvmsettings©2008IBMCorporation21TracingTracingMark:Recursivelymarksalltheliveobjects,startingwiththeregistersandthreadstacks.ParallelMarkandSweep•Usemultiplethreads(no.processors-1)toperformtasksSweep:Freesalltheobjectsthatwerenotmarkedinthemarkphase.Compaction:Reducesheapfragmentation.Thisphaseattemptstomoveallliveobjectstooneendoftheheap,freeinguplargeareasofcontiguousfreespaceattheotherend.CompactionstopsJVMactivitywhileitoccursNoteveryGCcycleresultsinacompaction©2008IBMCorporation22CopingCopingSplitintotwospaces(semi-spaces)OnlyonecontainsliveobjectsandisavailableforallocationatatimeMoveobjectsbetweenspacesRoleofspacesisreversedAllocateSpaceSurvivorSpaceCopyingSurvivorSpaceAllocateSpace©2008IBMCorporation23CopingCopingGoodthingbecause-•Reducesfragmentationinheap•Improvesallocationspeed•Relocalizationofobjectsforbetterco-localityBadthingbecause-•Thrashingcachereducinghardwareperformance•Timeconsumingtomoveobjects©2008IBMCorporation24ConcurrentMarkGarbageCollectorismarkingliveobjectsconcurrentlywithapplicationthreadsrunningItstartsaconcurrentmarkingphasebeforetheheapisfullTracingisdonebyalow-prioritybackgroundthreadandbyeachapplicationthreadwhenitdoesaheaplockallocationUsesthemarkedcardstoseewhatmustberetraced©2008IBMCorporation25GarbagecollectionPoliciesGarbagecollectionPoliciesMemorymanagementisconfigurableusing4differentpolicieswithvaryingcharacteristics.OptimizeforThroughputflatheapcollectorfocusedonmaximumthroughput.OptimizeforPauseTimeflatheapcollectorwithconcurrentmarkandsweeptominimizeGCpausetime.GenerationalConcurrentdividesheapinto“nursery”and“tenured”segmentsprovidingfastcollectionforshortlivedobjects.Canprovidemaximumthroughputwithminimalpausetimes.SubpoolOnlyavailableonIBMpSeriesandzSeries©2008IBMCorporation26FinalizerFinalizer©2008IBMCorporation27InterpretVerboseGCInterpretVerboseGC触发条件触发条件触发条件触发条件/原因
本文标题:WebSphere+Application+Server+性能调优
链接地址:https://www.777doc.com/doc-5014086 .html