sheeta16
作者sheeta16·2011-02-24 15:13
开发工程师·NN

WebSphere性能调优讲解

字数 3494阅读 1871评论 0赞 1
    一、WebSphere优化概述

    WebSphere参数调整,使服务器运行更加稳定,有效优化服务器

    WebSphere实时监控,并通过日志等多途径分析程序bug和性能瓶颈

    WebSphere监测工具,利用第三方监测工具,减少工作量,提高监控效率

    WebSphere配置开发,开发特定配置文件,减小服务器开销,增强用户体验性

    WebSphere架构设计,利用集群机制,形成稳定高效的系统环境

    参数调整

    WebSphere的控制台,在以往的项目中最常用的就是war包的部署以及程序的启停等,对于WebSphere的配置参数没有过多的涉及,使我们无法合理有效的利用应用服务器,造成部分资源的浪费。通过业务分析及监控,我们可以设置合理的WAS配置参数,使其维护机制等更为合理,使其提供的内部机制充分得到利用,还可以通过其提供的API接口,进行有针对性的程序优化。

    监控优化

    WebSphere自身提供了一个功能相当强大的监控程序——TPV(Tivoli Performance Viewer),通过开启监控的开关,设置对各关注指标的计数器,来进行有针对性的监控,监控过程中可以控制数据的刷新速度,日志保留情况,来观察各计数器的数据变化。其他的监控软件还包括LR,WASMon,jwebap等等,在监控的过程中,由于实时监控造成很大的人力开销,所以第三方软件的诞生,使我们监控的工作事半功倍,弥补了TPV的很多不足。第三方监控软件包括预警通知,报表输出,全局监控,历史查询等重要功能。

    文件分析

    在监控的过程中,以及日常运维中,会产生很多的日志文件,包括了垃圾回收日志、应用程序日志、服务器错误日志,以及堆转储文件和线程池使用文件等,这些文件的产生可以使我们快速的定位错误位置,找出问题根源。IBM提供了这些日志文件的分析工具和错误代码库,方便我们分析和查询,真正做到了监控——分析——优化一条龙服务。

    架构设计

    WebSphere在应对高负载时提供了一套机制——集群,集群可以帮助我们进行负载均衡以及保证系统的稳定性,在单机进行垂直部署或者多机的横向部署,通过DM进行对节点的管理。集群的方式很多,以应对不同的架构设计,但这些的前提是了解集群的架构和原理,了解项目自身特点,这样才能有针对性的进行方案设计,以发挥集群的最大作用。

    二 WebSphere参数详解

     连接池

    应用程序读取数据库有2种方式,一种是直接连接数据库,一种是调用连接池。

    1)       直连是程序直接创建物理连接,调用数据库进行数据读取。直连的创建会带来很大的系统开销,若程序中多处频繁使用直连,会造成应用服务器资源消耗过多,影响程序的性能。

    2)       连接池是创建和管理一个物理连接的缓冲池,其中会保留一定数量创建的物理连接不关闭,当有客户端请求时,调用连接池,可以有效减少物理连接的创建次数,降低直连所带来的系统开销,缓解应用服务器压力,提高程序性能。

    下面我对连接池各参数意义进行讲解:

    连接超时

    连接超时是指,当对指定连接池进行请求时,池中没有可用连接(连接全部被使用,或者数据库请求超时),当请求时间到达指定之间时未响应,那麽这个时候就会产生超时异常,通过日志可以发现。

    连接超时的设置,是对我们应用响应速度的一种把关,客户往往要求我们的产品在多长时间必须有响应,所以连接超时的设置,可以让我们发现哪些程序点有响应速度问题,可能是数据库查询语句问题,也有可能是程序逻辑死循环,再有可能就是数据库表结构需要优化,还有可能是最大连接数到达最大值。

    最大连接数

    最大连接数是指当前连接池中允许创建的最大物理连接数,当到达指定值后,将不允许创建物理连接。和连接超时相对应,当达到最大值后,连接请求将等待,直到池中有空闲连接为止,否则报连接超时错误。当使用集群机制时,会同时存在多个相同连接池,这个时候需要考虑最大数量的设置。

    最大连接数可以有效控制创建物理连接的数量,连接池的大小影响着服务器资源的占用情况,若连接池过大,则会长期占用服务器可利用资源,若连接池过小,无法满足现场环境应用高负载使用压力。最大连接数的设置应根据TPV观测数据进行合理配置。

    最小连接数

    最小连接数是指当前连接池要保留的最小物理连接,其决定未使用超时维护机制的下限,连接池的创建不是根据最小连接数而特意创建,而是根据用户请求而创建,系统会一直维护最小的连接数目。

    最小连接数使应用服务器保持一定数量的物理连接,利用应用服务器维护机制,合理分配服务器资源。当应用程序访问频繁,但访问人数少的情况下,最小连接数的合理配置,可以将有效的资源进行充分利用,满足特定应用需求。

    收集时间

    收集时间是连接池维护机制的核心,是指每次维护连接池的时间间隔。其有两个维护指标,分别为未使用超时和时效超时,其值应该小于两个指标中的任何一个。每一次维护周期中,连接池都会将连接池中超时的物理连接关闭,以减少系统占用资源。

    合理的收集时间设置,是帮助我们关闭不必要的连接,节省系统资源占用的有效途径。收集时间设置不易过大,因为时间间隔过长,会使很多未被使用的物理连接持续占用资源。若收集时间过小,则频繁的维护会带来很多系统开销,连接池的主要精力都放到了维护上。

    未使用的超时

    未使用的超时指池中的物理连接空闲未使用的时间间隔,每隔指定时间,系统会为连接标记,帮助收集时间在维护过程中进行关闭。未使用的超时应该小于实效超时时间,并且其以最小连接数为标准,当连接数超过最小连接数时,其才起作用。

    未使用超时的设置,帮助我们关闭不必要的空闲连接,释放系统资源,并且减少数据库开销。根据现场环境使用情况,我们可以根据系统访问频繁程序,来定制合理的未使用超时,如果过小,当访问频繁程度大时,总需要重新创建,如果过大,当访问频繁程度不大时,连接池又空闲占用过多。

    时效超时

    实效超时指关闭物理连接的时间间隔,这个值是指到达指定的时间后,关闭满足时间条件的物理连接,若这个物理连接未使用,则直接关闭,若这个连接正在使用,则当前事务结束后,关闭此连接。这个值不受最小连接数的影响,若没有新创建的连接,此机制会关闭连接直到为0。

    时效超时的设置,是为了方式应用程序或者数据库造成的数据库连接持续占用,可能导致的原因包括程序逻辑错误,数据库宕机导致的错误等。还有一种情况为人为导致,就是若某个用户持续占用一个资源不放,会导致其他用户无法访问。所以时效超时的设置,是对不合理使用应用,或者链接错误等进行强行关闭,保证程序的稳定性和持久性。

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

1

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广