一、性能测试:
定义:多用户高并发测试服务器性能情况
分类:压力测试、负载测试、强度测试/疲劳测试(可靠性、3*24小时、最大并发用户数*80%、最大容量)、并发测试(性能测试的方式测功能、库存和订单的关系(订单超发))。。。
阶段:初级性能测试 最大容量(性能指标)
中级性能测试 分析找出瓶颈
高级性能测试 解决短板》调优
性能指标:平均响应时间 :(越小越好)
请求到响应所花的响应时间
统计所有请求的平均值
性能测试258原则(x<2s、非常快,2s<x<5s、感觉卡顿,5s<x<8s、明显慢值得一等,x>8s辣鸡)
如果项目中没有明确要求响应时间,则使用258,否则就用自己项目的要求,
事务失败率:
事务:收集性能指标的最小单元,jmeter默认使用单个请求作为一个事务、自定义事务:把多个请求作为一件事情来收集指标
错误率:
失败率(越小越好<5%)
服务器的cpu使用率:
cpu是服务器最重要的资源
服务器的硬件指标
越小越好,越高表示服务器越忙
不要持续100% 85%<x<90%
tps: 每秒事务数 服务期每秒返回的请求
直接反应服务器的状况
辅助的指标 调优
越大越好
响应时间、事务失败率、服务器cpu使用率综合判断、三个都满足就通过,否则有一个指标不满足就失败。
找出测谈网首页的最大容量:1、需求分析 熟悉被测系统
业务 找出使用最高的
技术 软件结构、硬件结果
2、场景设计 场景
明确知道要执行的case 根据项目的热门业务
编写性能测试用例文档 填模板
策略
采用什么方法来开展
负载和压力测试结合
3、脚本编写:loadrunner
jmeter
4、执行测试:jmeter 添加环境变量
非GUI模式 测试
5、指标监控 tps/响应时间/失败率 jmeter自动收集
服务器cpu使用率 top 100-id
zabbix
6、分析和报告 最大容量
7、服务器:
软件:
网关服务器:
nginx、请求转发,负载均衡
web容器:把软件代码变成可以访问的服务
tomcat/weblogic(java)、php、iis(c++ c#)、gunicorn(python)
缓存服务器:redis(缓存用户信息:token(访问牌)、读写速度非常快、替代数据库)
数据库:mysql、oracle(商业数据库)、sqlserver、db2,(数据库会成为整个系统的瓶颈)
架构:
集群(根据功能的不同,分散到不同的服务器上)
单机(所有的服务都放在一台服务器上)
代理:
正向代理:外卖小哥取外卖、过程透明
反向代理:代购、过程不透明
硬件:
cpu:
服务器硬件的大脑
最重要的资源
因素 cpu核心数、cpu主题
内存:运行软件临时存放的地方、越大越好、读写速度很快,断电数据丢失
硬盘/IO:存文件的地方,读写速度慢、断电数据不丢失,分类:机器硬盘(h)、固态硬盘
带宽:上传下载的速度