发布新日志

  • 做好性能测试需要了解的知识汇总

    msnshow 发布于 2012-05-26 22:55:36

    性能测试
      1. 如何理解TPS?
      2. 如何理解线程调用?
      3. 如何理解响应时间?
      4. 如何理解性能建模?(可分类回答)
      5. 如何理解响应时间、TPS曲线和用户之间的关系?
      6. 在LoadRunner中为什么要设置思考时间和pacing?
      应用服务器
      1. 如何理解J2EE的系统架构?
      2. 如何理解J2EE应用服务器的容器?
      3. 如何理解内存泄露?如何定位JAVA类的应用的内存泄露?如何定位C语言编写的应用的内存泄露?
      4. 如果用纯JAVA的应用调用J2EE应用服务器的容器资源会出现什么结果?需要如何维护容器资源?(说明原理即可)
      5. 如何定位JAVA的方法调用消耗的时间?(不通过在源代码中加时间戳的方式)?
      6. 如何定位C语言中的函数调用消耗的时间?
      7. 如何监控J2EE应用服务器?(可以用一个具体的应用服务器做例子)
      数据库
      1. 如何理解数据库架构?(可以用一个数据库做例子)
      2.?SQL语句在数据库中的执行分成几步,每一步都做什么?(可以用一个数据库做例子)
      3. 如何跟踪SQL的执行时间和内存的消耗?(可以用一个数据库做例子)
      4. 如何监控数据库?监控能得到什么数据?(可以用一个数据库做例子)
      5. 如何定位死锁问题?如何定位热块问题?如何监控日志切换?(可以用一个数据库做例子)
      6. 有几种手段可以改变执行计划?(可以用一个数据库做例子)
      操作系统
      1. 如何判断CPU、内存、磁盘的瓶颈?
      2. 如何理解CPU、内存、磁盘之间的关系?
      3. 如何理解paging in/paging out?
      4. 如何监控操作系统的资源?(可以用一个操作系统做例子)
      5. 如何理解内存管理和线程调度?(可以用一个操作系统做例子)
      6. 如何理解CSwitch?(可以用一个操作系统做例子)
      7. 如何理解磁盘IO?(可以用一个操作系统做例子)
      网络
      1. 如何定位数据包的传输在网络上消耗的时间?
      2. 如何理解纯路由和NAT的区别?
      性能测试工具
      1. 解释LoadRunner的工作原理。
      2. 如何理解LoadRunner里的关联?
      3. 如何理解性能压力工具?
      4. 如何理解虚拟用户?(可以用一个工具做例子)
      5. 如果理解业务到脚本的转化?(可以用一个工具做例子)
      6. 如何做到业务统计数据到场景的转化?(可以用一个工具做例子)
  • 性能调优从哪些方面入手?(ZT)

    catyun 发布于 2012-02-07 11:01:25

        问题描述:

      性能调优从哪些方面入手?

      精彩答案:

      会员 yzylion:

      我个人觉得现在大多数的性能测试工作人员分为以下三个阶段:

      1、出了问题就看资源,资源占用如果很高,报以窃喜的心态,恩,发现了,原理是资源瓶颈

      2、资源没有出现瓶颈,通过一些技术手段分析,发现是组件的配置文件有问题,例如:server的并发策略有问题,带宽有问题,找到了线路短板性能中的短板,到了这个阶段在我看来是比较牛的测试拉

      3、以上均无问题的情况下,考虑数据结构和算法

      就我个人接触到的来说,现在大多数的人员都是在仰望第二阶段,摸索第三阶段,希望从代码级就发现出性能的问题,进行问题的发现和解决,也符合我们的bug越早发现修复的成本越低的理论。同时,也是一名性能测试工程师高薪的象征。

      那么谈完了现状,回到我们的这个话题:性能调优从哪些方面入手,个人觉得有如下几点:

      1、对于所测系统所设计到的知识领域的了解。例如:所测系统开发语言,牵涉到的中间件,web,app 两大server等的配置参数是什么意思,如何监控,分析它们的哪些数据等

      2、注重基础知识的学习和积累。例如:对于web的性能测试,对于TCP/IP原理,基本知识,数据的转发实现,交换机和路由器的带宽设置策略对性能的影响等需要了解,掌握清楚,思路清晰

      3、确定性能测试本身的有效。例如:脚本的优化,场景的设置等。因为,有些本身脚本的优化带来的执行效率的问题,往往被我们忽略,而一股脑的在那里研究是我们本身哪里出了问题

      性能测试调优是一条说简单简单,要做好不是那么容易的路,共勉~~~

      原帖地址:http://bbs.51testing.com/thread-516291-1-1.html

    版权声明:本文由会员yzylion首发于51Testing软件测试论坛每周一问活动。

    原创作品,转载时请务必以超链接形式标明本文原始出处、作者信息和本声明,否则将追究法律责任。

  • 性能分析方法

    职业游民 发布于 2010-12-24 12:42:36

    [转载]

    一:性能分析的基础知识:
        1.
    几个重要的性能指标:相应时间、吞吐量、吞吐率、TPS(每秒钟处理的交易数)、点
    击率等。
        2.
    系统的瓶颈分为两类:网络的和服务器的。服务器瓶颈主要涉及:应用程序、WEB服务
    器、数据库服务器、操作系统四个方面。
        3.
    常规、粗略的性能分析方法:
      
    当增大系统的压力(或增加并发用户数)时,吞吐率和TPS的变化曲线呈大体一致,则系统
    基本稳定;若压力增大时,吞吐率的曲线增加到一定程度后出现变化缓慢,甚至平坦,很可能是
    网络出现带宽瓶颈,同理若点击率/TPS曲线出现变化缓慢或者平坦,说明服务器开始出现颈。
        4.
    作者提出了如下的性能分析基本原则,此原则本人十分赞同:


                ——
    由外而内、由表及里、层层深入
       
    应用此原则,分析步骤具体可以分为以下三步:
      
    第一步:将得到的响应时间和用户对性能的期望值比较确定是否存在瓶颈;
      
    第二步:比较Tn(网络响应时间)和Ts(服务器响应时间)可以确定瓶颈发生在网络还是服
    务器;
      
    第三步:进一步分析,确定更细组件的响应时间,直到找出发生性能瓶颈的根本原因。
    二:以WEB应用程序为例来看下具体的分析方法:
        1.
    用户事务分析:
        a.
    事务综述图(Transaction Summary ):以柱状图的形式表现了用户事务执行的成功与
    失败。通过分析成功与失败的数据可以直接判断出系统是否运行正常。若失败的事务非常多,则
    说明系统发生了瓶颈或者程序在执行过程中发生了问题。
        b.
    事务平均响应时间分析图(Average Transaction Response Time: 该图显示在
    测试场景运行期间的每一秒内事务执行所用的平均时间,还显示了测试场景运行时间内各个事务
    的最大值、最小值和平均值。通过它可以分析系统的性能走向。若所有事务响应时间基本成一条


    曲线,则说明系统性能基本稳定;否则如果平均事务响应时间逐渐变慢,说明性能有下降趋势,
    造成性能下降的原因有可能是由于内存泄漏导致。
        c.
    每秒通过事务数分析图(Transaction per SecondTPS:显示在场景运行的每一
    秒中,每个事 务通过、失败以及停止的数量。通过它可以确定系统在任何给定时刻的实际事务
    负载。若随着测试的进展,应用系统在单位时间内通过的事务数目在减少,则说明服务器出现瓶
    颈。
         d.
    每秒通过事务总数分析图(Total Transactions per Second:显示场景运行的
    每一秒中,通过、失败以及停止的事务总数。若在同等压力下,曲线接近直线,则性能基本趋于
    稳定;若在单位时间内通过的事务总量越来越少,即整体性能下降。原因可能是内存泄漏或者程
    序中的缺陷。
          e.
    事务性能摘要图(Transaction Performance Summary:显示方案中所有事务的
    最小、最大平均执行时间,可以直接判断响应时间是否符合客户要求(重点关注事务平均、最大
    执行时间)。
          f.
    事务响应时间与负载分析图(Transaction Response Time Under load:通过
    该图可以看出在任一时间点事务响应时间与用户数目的关系,从而掌握系统在用户并发方面的性
    能数据。
          g.
    事务响应时间(百分比)图(Transaction Response Time(percentile):
    图是根据测试结果进行分析而得到的综合分析图。分析该图应从整体出发,若可能事务的最大响
    应时间很长,但如果大多数事务具有可接受的响应时间,则系统的性能是符合。
          h.
    事务响应时间分布情况图(Transaction Response Time (Distribution):
    图显示了测试过程中不同响应时间的事务数量。若系统预先定义了相关事务可以接受的最小和最
    大事务响应时间,则可以使用此图确定系统性能是否在接受范围内。


Open Toolbar