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.调优-------找到代码中的具体类/方法