性能测试理论简记

需要掌握的知识

通过要做好性能测试,该掌握些什么这篇文章,我觉得我首先要做的是 第一点(性能测试的基本概念,过程,方法论,性能工程)和第二点(商业性能测试工具和开源性能测试工具)吧。

开始性能测试之前必须知道的事情

理发店模型
最佳并发用户数:以理发店模型来讲,每小时3个用户是最佳并发用户数,此时没有资源(理发师)被浪费,也没有用户需要等待;
最大并发用户数:以理发店模型来讲,每小时9个用户是最大并发用户数,此时没有资源被浪费,但是除了前三个用户,后面的6个用户都要等待一定的时长;

  1. 了解用户目的
    情况1: 客户有明确需求
    情况2: 容量测试(了解系统性能),可以假设为求得最大用户数和最佳用户数
    情况3:找出系统性能瓶颈
    情况4:强度测试,验证系统稳定性,典型问题: 内存溢出

  2. 环境
    硬件环境,软件环境,网络环境

  3. 寻找系统的压力点
    如何获得有效的性能需求?
    获取有效的性能需求
    什么是有效的性能需求?

  • 明确的数字
  • 有凭有据,合理,有实际意义
  • 相关人员达成一致
    如何获得?
  • 客户方提出
  • 根据历史数据来分析
  • 参考历史项目的数据
  • 参考其他同行类似项目的数据
  • 参考其他类似行业应用的数据
  • 参考新闻或其他资料的数据

容易混淆的理论

并发用户数 ≠ 每秒请求数
详细解释参考这篇博文

性能测试知多少

虫师的这个系列文章,作为我对性能知识的入门吧!以下记录重点难点。

  1. 性能测试分类
    之前根据一些文章自己整理过简单分类负载测试 & 压力测试,但是发现和虫师这篇文章的分类好像相反。 算了....其实好像没什么关系...

  2. 吞吐量和吞吐率
    吞吐量: 一次性能测试过程中网络上传输的数据量的综合。
    吞吐率: 单位时间内网络上传输的数据量。

  3. 事务和TPS
    事务:用户某一步或几步操作的集合
    TPS: 每秒系统能够处理事务或交易的数量

  4. 如何定位性能瓶颈
    网络、数据库、应用服务器和代码

  5. 响应时间
    普遍标准:2/5/10秒原则

  6. 性能测试工具原理
    通过多线程或多进程模拟用户访问,对服务端施加压力,然后收集性能数据。

  7. 性能测试流程
    需求分析 - 测试计划 - 环境搭建 - 工具选择 - 测试执行

性能测试指标

  1. 通用指标
  • ProcessorTime 服务器CPU占用率,一般 平均达到70%,服务就接近饱和
  • Memory Available Mbyte 可用内存数
  • Physicsdisk Time 物理磁盘读写情况
  1. Web服务器指标
  • avg rps 平均每秒钟响应次数
  • successful rounds 成功的请求
  • failed rounds 失败的请求
  • hits per second 每秒点击次数
  • successful hits 成功的点击次数
  • failed hits 失败的点击次数
  • successful hits per second 每秒成功的点击次数
  • failed hits per second 每秒失败的点击次数
  • attempted connections 尝试连接数
  1. 数据库服务器指标
  • user 0 connections 用户连接数
  • number of deadlocks 数据库死锁
  • butter cache hit 数据库cache的命中情况

雅虎35条军规 - 前端性能

之前了解前端性能时记录的文章

参考:
在做性能测试之前你需要知道什么
要做好性能测试,该掌握些什么
性能测试知多少
web下的整体测试

上一篇:实验四 决策树算法及应用


下一篇:803. 打砖块