jmeter性能测试学习笔记

1:什么是性能
      用户角度:软件反应速度快慢
      开发角度:系统架构和数据的设计
      运维角度:系统最大的承受能力

      测试角度:基于前三个综合考虑,全都要
      生活中测试例子: 彩排

2:测试的时机——什么情况下做
    第一个版本   ——>      第一个双11
    什么时候开始做?  ——> 当用户数量达到一定程度时候,介入性能测试或者做局部功能性能测试
    性能测试一般是放在功能测试之后。 

3:性能测试分类
     在性能测试基础文档中

4:性能测试指标

4.1:并发用户数
       多个用户对某个功能同时操作(单一操作)
       多个用户对某个功能同时操作(符合场景)

4.2:响应时间
 从我们点击使用发送请求到服务器(开始)——返回到客户端(结束) 时间。
 返回到客户端:1.网络传输时间 2.服务器处理时间 3.客户端的呈现时间

4.3 吞吐量
     指在一次性能测试过程中网络上传输的数据量的总和。发送数据量+接受数据量


前3个指标指的都是软件方面的性能

并发用户数和响应时间的关系
TPS:每秒钟系统能够处理事务或交易的数量
TPS=并发用户数/响应时间

4.4 资源利用率,针对服务器的硬件
   指的是对不同系统资源的使用程度,通常以占用最大值的百分比来衡量

5.同一时间

并发数量     在线用户数量    注册用户量(最大)

6.选择服务器所需的配置

cpu:主要解释计算机指令以及处理计算机软件中的数据
内存:与cpu沟通的桥梁,计算机所有程序的运行都在内存中进行,内存分为物理内存页面交换(paging),SWAP内存(虚拟机内存)80%
网络:即带宽
磁盘:  80%
中间件:常用的中间件列如web服务器Tomcat,Weblogic,web服务器,JVM(java虚拟机),Threadpool线程池,JDBC数据驱动  IIS
数据库:MYSQL
程序

7.最大并发用户数和最大并发用户数

最佳并发用户数>=系统平均负载
最大并发用户数>=系统峰值负载
要求一个原则:
在系统日常运行过程中,保证系统状态稳定。
在峰值的时候,包装系统不会出错。

8.性能测试流程

来源:
   8.1 非功能性需求
        1.客户要求的
        2.根据以前的数据测试.- _近3个月
        3.借鉴同类型的项目

  8.2性能需求提取加工
      1.性能测试点测试场景-用户使用频繁的业务--登录
      2.性能测试点---测试场景-消耗的资源较大的业务-- .购物车
      3.性能测试点-测试场景-绝对不能出错的业务--- -支付

8.3测试哪些数据
   响应时间
   TPS
   并发用户数
  
9.系统架构分析


9.1应用服务器:存储处理业务的功能代码

数据库服务器:数据库mysql
应用服务器和数据库服务器分开(资源竞争的问题)

9.2本地缓存和分布式(多个服务器共同存储)缓存(减轻
数据库读写压力)

9.3方向代理和负载均衡(Tomcat)
代理:
方向代理:
负载均衡:增加更多的服务器,减轻压力。如果其中一台服务器挂掉了,其他服务器把任务接过来继续。数据库同比,通过日志同步。

9.3 数据库服务器优化
香询(select)和写(册改加)分类
分类---业务分类
分表---QQ的所有用户---根据注册月份来分表

10.性能测试计划

10.1 项目介绍

10.2 性能测试的范围
根据我们的性能需求来确定

10.3 性能测试化环境
和生产环境不是一个,除了IP不一样其他一样(独立)

10.4 性能测试环境---数据准备
人为制造-用于模拟生产环境的运行场景

10.5性能测试的工具选择
开源免费-------选择使用频率高的工具  jmeter
付费-----------有售后的,有人教(收费高)  loaadRunner  2~3W(有保障)

10.6 性能测试执行(策略)
测试20亿用户同时使用会不会崩溃
压力由高到低 
场景测试从单一场景测试---组合起来测试

10.7 人力安排
不仅仅安排测试工作,开发运维配合

11性能测试环境搭建要求
功能测试环境-------是由多个项目共用一个服务器
性能测试环境(理想状态)
干净。独立-----单独的服务器部署
和生产环境一样除了IP
硬件设备一样
软件设备一样
版本一致 中间一致 数据控一致 系统一致
磁盘一致 数据控大小一致

12 建模
低配模仿高配
用个体模拟集群
在建模过程中,会有损耗

13性能执行与调优
中间件调优---
-修改配置文件
数据库调优-
-找到sal
xm.调优-------找到代码中的具体类/方法

你可能感兴趣的:(学习)