zoukankan      html  css  js  c++  java
  • 28 | 带你一起解读不同视角的软件性能与性能指标

    衡量软件性能的四个维度

    对同一个系统来说,不同的对象群体对软件性能的关注点和期望也不完全相同,甚至很多时候是对立的。

    终端用户眼中的软件性能

    软件性能表现为用户进行业务操作时的主观响应时间。具体来讲就是,从用户在界面上完成一个操作开始,到系统把本次操作的结果以用户能察觉的方式展现出来的全部时间。包括了系统响应时间和前端展现时间。

    系统响应时间,反应的是系统能力,又可以进一步细分为应用系统处理时间、数据库处理时间和网络传输时间等;

    前端展现时间,取决于用户端的处理能力。

    对终端用户来说,这个时间越短体验越好。

    系统运维人员眼中的软件性能

    从软件系统运维(也就是系统运维人员)的角度,软件性能除了包括单个用户的响应时间外,更要关注大量用户并发访问时的负载,以及可能的更大负载情况下的系统健康状态、并发处理能力、当前部署的系统容量、可能的系统瓶颈、系统配置层面的调优、数据库的调优,以及长时间运行稳定性和可扩展性。

    软件设计开发人员眼中的软件性能

    从软件系统开发(也就是软件设计开发人员)的角度来讲,软件性能关注的是性能相关的设计和实现细节,这几乎涵盖了软件设计和开发的全过程。

    在软件设计开发人员眼中,软件性能通常会包含算法设计、架构设计、性能最佳实践、数据库相关、软件性能的可测试性这五大方面。其中,每个方面关注的点,也包括很多。

    性能测试人员眼中的软件性能

    从性能工程的角度看,性能测试工程师关注的是算法设计、架构设计、性能最佳实践、数据库相关、软件性能的可测试性这五大方面。

    在系统架构师、DBA,以及开发人员的协助下,性能测试人员既要能够准确把握软件的性能需求,又要能够准确定位引起“不好”性能表现的制约因素和根源,并提出相应的解决方案。

    衡量软件性能的三个最常用的指标

    并发用户数

    并发用户数,是性能需求与测试最常用,也是最重要的指标之一。它包含了业务层面和后端服务器层面的两层含义。

    响应时间

    通俗来讲,响应时间反映了完成某个操作所需要的时间,其标准定义是“应用系统从请求发出开始,到客户端接收到最后一个字节数据所消耗的时间”,是用户视角软件性能的主要体现。

    响应时间,分为前端展现时间和系统响应时间两部分。其中,前端时间,又称呈现时间,取决于客户端收到服务器返回的数据后渲染页面所消耗的时间;而系统响应时间,又可以进一步划分为 Web 服务器时间、应用服务器时间、数据库时间,以及各服务器间通信的网络时间。

    系统吞吐量

    所有对吞吐量的讨论都必须以“单位时间”作为基本前提。
    “Throughput”翻译成吞吐率更贴切,吞吐率 = 吞吐量 / 单位时间。

    对性能测试而言,通常用“Requests/Second”“Pages/Second”“Bytes/Second”来衡量吞吐量。当然,从业务的角度来讲,吞吐量也可以用单位时间的业务处理数量来衡量。


    来源于 极客时间 茹炳晟 软件测试52讲

  • 相关阅读:
    笨方法学python中执行argv提示ValueError: not enough values to unpack (expected 4, got 1)
    VMware workstation安装
    Redis bigkey分析
    MySQL drop table 影响及过程
    MySQL 大表硬连接删除
    ES elasticsearch 各种查询
    ES elasticsearch 各种聚合
    ES elasticsearch 聚合统计
    ES elasticsearch 实现 count单字段,分组取前多少位,以地理位置中心进行统计
    MySQL行溢出、varchar最多能存多少字符
  • 原文地址:https://www.cnblogs.com/Uni-Hoang/p/13347249.html
Copyright © 2011-2022 走看看