zoukankan      html  css  js  c++  java
  • 性能测试面试题(附答案)

    1.常见的性能测试策略有哪些

    参考答案:

    基准测试,并发(业务边界值)测试,综合场景测试,负载测试,疲劳测试,极限压力测试,大数据量测试
     
    2.完成一个性能测试项目,请阐述你的实施流程:
    参考答案:
    测试设计阶段:
    1)了解被测系统的性能需求,定义测试目标和范围;
    2)了解系统的技术信息,如系统架构等;
    3)确定测试方案、进度安排,并制定测试计划,场景设置方案,及需要收集的测试数
    据;
    4)同相关人员协商讨论测试方案;
    5)准备数据收集模板;不同项目的性能测试,需要收集的数据不同;针对性的制定
    一个模板,更符合需要;
    测试环境准备:
    1)技术准备;选择性能测试工具;测试方案中涉及到的技术问题;测试数据的收集
    方案实现;如:如何监控系统资源等;
    2)搭建测试环境;
    3)创建初始数据;如虚拟用户使用的账号等;
    测试执行阶段:
    1)录制脚本;
    2)调试脚本;
    3)执行场景;
    4)收集测试数据,并简单整理;
    测试分析阶段:
    1)分析测试数据,报告整理
     
    3.性能指标解释:
    1)并发:所有用户在同一时刻对系统执行操作,一般指做同一件事情或操作。
    2)请求响应时间:
    从 client 端发出请求到得到响应的整个时间;
    包括:client 端响应时间+网络响应时间+Server 端响应时间。
    3)TPS(Transaction Per Second)
    每秒钟系统能够处理的交易或事务的数量。它是衡量系统处理能力的重要指标。TPS 是 LoadRunner 中重要的性能参数指标。
    4)资源利用率
    对不同资源的使用程度,如 CPU,I/O,内存,网络
     
    4.性能测试中tps如果上不去原因有哪些?

    1、网络带宽

    在压力测试中,有时候要模拟大量的用户请求,如果单位时间内传递的数据包过大,超过了带宽的传输能力,那么就会造成网络资源竞争,间接导致服务端接收到的请求数达不到服务端的处理能力上限。

    2、连接池

    可用的连接数太少,造成请求等待。连接池一般分为服务器连接池(比如Tomcat)和数据库连接池(或者理解为最大允许连接数也行)。

    (关于连接池的具体内容,可参考之前的博客:性能测试:连接池和线程)

    3、应用问题,如垃圾回收机制

    从常见的应用服务器来说,比如Tomcat,因为java的的堆栈内存是动态分配,具体的回收机制是基于算法,如果新生代的Eden和Survivor区频繁的进行Minor GC,老年代的full GC也回收较频繁,那么对TPS

    也是有一定影响的,因为垃圾回收其本身就会占用一定的资源。

    4、数据库配置

    高并发情况下,如果请求数据需要写入数据库,且需要写入多个表的时候,如果数据库的最大连接数不够,或者写入数据的SQL没有索引没有绑定变量,抑或没有主从分离、读写分离等,

    就会导致数据库事务处理过慢,影响到TPS。

    5、通信连接机制

    串行、并行、长连接、管道连接等,不同的连接情况,也间接的会对TPS造成影响。

    (关于协议的连接,可参考之前的博客:HTTP协议进阶:连接管理)

    6、硬件资源

    包括CPU(配置、使用率等)、内存(占用率等)、磁盘(I/O、页交换等)。

    7、压力机

    比如jmeter,单机负载能力有限,如果需要模拟的用户请求数超过其负载极限,也会间接影响TPS(这个时候就需要进行分布式压测来解决其单机负载的问题)。

    8、业务逻辑

    业务解耦度较低,较为复杂,整个事务处理线被拉长导致的问题。

    9、系统架构

    比如是否有缓存服务,缓存服务器配置,缓存命中率、缓存穿透以及缓存过期等,都会影响到测试结果。

    5.性能测试时,是不是必须进行参数化?为什么要创建参数?JMeter中如何创建参数?

    是。模拟用户真实的业务操作。

    创建参数列表,用参数替换固定的文本

    6.请问您是如何得到性能测试需求?怎样针对需求设计、分析是否达到需求?

    在查看需求文档,从中提取性能测试需求 ,制定性能测试范围;

    结合业务信息设计操作历史访问记录场景总结出需测试的性能关键指标。

    执行场景用例后根据提取关键性能指标来分析是否满足性能需求。

    7.画出系统架构图?

    示意图:

     
     
     
  • 相关阅读:
    version negotiation failed (we support version 0x01, peer supports version 0x04
    Ryu-SDN-IP
    ryu No module named
    ryu ImportError: No module named ryu.cmd.manager
    Cannot find required service quagga in /etc/init.d/
    sdx-ryu(一)
    Oracle Day01 数据库基础
    HTML+CSS Day11产品网站
    HTML+CSS Day10实例
    HTML+CSS D09 定位
  • 原文地址:https://www.cnblogs.com/techfix/p/13553392.html
Copyright © 2011-2022 走看看