• 17.应用负载压力测试


    早些点,下午题考,最近几年出现的少;
    备考较为简单;历年真题相似度高;

    主要议题:
    在这里插入图片描述

    1.负载压力测试概述

    在这里插入图片描述
    在这里插入图片描述

    注意这些测试细微的差别;
    负载测试和压力测试的方法比较相似,但是目的不同;
    1、负载测试:逐步增加系统的负载,以便获取系统最大的负载情况;如服务器最大允许多少用户查询;
    2、压力测试:目的是在满足性能要求的前提下,获取其负载情况(逐步增加负载,看什么时候系统就不可接受),以此获取系统的服务水平级别
    比如,能够接受网站的响应速度是2s,2s内系统最大的并发查询量;即压力测试;
    3、并发性能测试:逐步增加系统的并发,获取系统并发的性能情况;系统并发性能有2种情况:最佳情况、最大情况;最大情况不一定最佳;最大:系统不可接受服务之前的最大情况;最佳:性能不降的前提下,接受的最多服务的情况;
    4、疲劳强度测试:日常工作负载的情况下,系统持续工作一段时间的状况;强调时间,如对系统的可靠性要求是7*24小时;
    5、大数据量测试:
    独立数据量测试:如磁盘最大的数据读取情况;
    综合数据量测试:结合负载测试、压力测试、并发性能测试相关的性能指标,来进行的大数据量的测试;强调的是吞吐量;

    历年真题中,有的指标被归纳到大数据量测试中;
    在这里插入图片描述
    在这里插入图片描述

    2.负载压力测试指标

    与客户端相关的指标;
    并发用户数指标:并发最佳、最大的数量;
    交易处理指标:交易处理成功的情况;
    web请求指标:每秒多少点击;
    web页面组件指标;
    在这里插入图片描述
    与服务器端相关的指标;
    并发用户数指标:并发最佳、最大的数量;
    交易响应时间:响应时间;
    交易通过率:交易成功的频率;
    吞吐量:单位时间内转发数据包的情况;单位时间内完成事务的量;
    点击率;
    在这里插入图片描述
    服务器操作系统资源占用监控指标;
    4大部件:CPU、内存、网络、存取;

    考题:服务器存在哪些缺陷,从哪些方面优化?
    从4大部件考虑;
    cpu性能指标;
    网络带宽、压缩情况;
    物理内存的大小;磁盘的容量、读写性能;

    其他几个指标稍微了解即可;
    在这里插入图片描述
    下列指标稍微了解即可;
    在这里插入图片描述
    中间件资源占用监控;了解即可;
    在这里插入图片描述
    以下是重点!!!
    考题通常会给出一组要求,然后针对系统进行一系列测试,判断问题在哪;
    根据指标和测试结果进行对比;比如题干要求cpu资源利用率不超过75%,900个并发如果cpu资源利用率超过75%,就不符合性能要求;

    解决方案:
    cpu:不够用就增加一个频率更高的;
    网络:带宽、通过网络传输的数据的压缩情况;
    内存:增加物理内存;优化软件或数据库的配置参数;
    数据库服务器:1、看配置参数是否正确、锁机制是否正确、查询语句是否进行了优化;
    软件系统:并发策略是否ok;软件的配置参数是否ok;相关的调度策略是否合理;
    磁盘IO:可能是内存不够;
    配置参数:配置不合理会导致资源竞争;

    从4大方面答:软件、服务器、数据库、网络;
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    下面看看就行;
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    如果考负载压力测试大题;
    第一问往往会让你把题干中列出来的几个指标进行归类,并不是题干上所有的指标都是负载压力测试指标;
    第二问会问你系统性能是否满足用户的性能要求,要根据测试结果和用户要求的性能指标对比;如果不满足,要做出说明原因;优化方向;

  • 相关阅读:
    万字长文总结与剖析C语言关键字 -- <<C语言深度解剖>>
    常用的cmd指令
    业务可视化-让你的流程图"Run"起来(3.分支选择&跨语言分布式运行节点)
    C++之互斥锁、读写锁、互斥量、 信号量、原子锁机制总结(二百二十五)
    基础篇04——多表查询
    并发编程 | 对比Object类、ReentrantLock.newCondition、LockSupport类提供的等待唤醒机制
    spark入门学习-3-SparkSQL数据抽象
    【JAVA】==和equal的区别
    使用 tensorboard 常见的问题及解决办法
    连接 MySQL 实例出现 Access denied for user ‘XXX’@’XXX’ 报错如何处理?
  • 原文地址:https://blog.csdn.net/shihao1998/article/details/137226453