前言:性能测试过程中的监测、分析及调优工作涉及到很多因素,在这里我们主要探讨有关分析与调优过程所涉及的基本原则,以供大家交流。

  谈到性能问题,首先应该明确用什么方式或指标来反映系统性能,一般来说通过系统外部指标是其性能直观的反映,其中包括:

  1)响应时间??单一业务执行过程中服务器的反馈时间

  2)交易数??单位时间内系统执行交易的总数量

  3)交易结果??交易结果正确率(如准确率、入库率等)

  4)稳定性??单位时间内的错误交易比例或长时间运行过程中

  在不考虑用户因素的情况下,将上述外部指标反映到系统内部客观因素上,则涉及包括软硬件配置、系统设置、业务数据状况等等在内的一系列相关内容,具体可以理解为:

  1)服务器CPU:包括CPU的数量、主频??CPU数量够不够用、速度够不够快;

  2)服务器内存:内存大小??内存够不够大,内存结构是否适合使用需要;

  3)服务器硬盘:硬盘容量、硬盘接口速率??硬盘/磁盘阵列吞吐能力是否影响数据交换;

  4)网络带宽:网络接口速率??网络数据传输速度是否满足交易需要;

  5)工作环境:操作系统、中间件、数据库等应用环境(如JDK版本)版本??操作系统、中间件、数据库及其它相关工作环境版本是否合适、配置是否合理;

  6)应用系统自身:应用系统设计是否正确有效??是否还存在隐含缺陷功能点,交易执行过程是否合理,较易操作过程中是否浪费资源等;

  7)系统数据:数据是否合理??当前系统中的数据是否满足用户需求和设计目标,数据量是否超出系统承受范围;

  明确如何反映系统性能状况后,主要的工作是根据用户的需要对现有业务系统进行优化调试的过程。这里我们仅系统性能调优的一般原则进行讨论,不做细节探讨:

  1)情况许可时,应使用几种测试工具或手段分别独立进行测试,并将结果相互印证,避免单一工具或测试手段自身缺陷影响结果的准确性;

  2)对于不同的系统,性能关注点是有所区别的,应该具体问题具体分析;

  3)查找瓶颈的过程应由易到难逐步排查:

  服务器硬件瓶颈及网络瓶颈(局域网环境下可以不考虑网络因素)

  应用服务器及中间件操作系统瓶颈(数据库、WEB服务器等参数配置)

  应用业务瓶颈(SQL语句、数据库设计、业务逻辑、算法、数据等)

  4)性能调优过程中不宜对系统的各种参数进行随意的改动,应该以用户配置手册中相关参数设置为基础,逐步根据实际现场环境进行优化,一次只对某个领域进行性能调优(例如对CPU的使用情况进行分析),并且每次只改动一个设置,避免相关因素互相干扰;

  5)调优过程中应仔细进行记录,保留每一步的操作内容及结果,以便比较分析;

  6)性能调优是一个经验性的工作,需要多思考、分析、交流和积累;

  7)了解“有限的资源,无限的需求”;

  8)尽可能在开始前明确调优工作的终止标准。

  性能调优是一个复杂的过程,需要经验和技巧,更需要耐心和毅力。学习性能调优不是一蹴而的,只有通过不断学习和深入对系统的理解,才能在进行调优过程中设计合理的方案、明确症结所在,并处以相应优化措施,达到调优工作的终目的。