性能测试的应用领域
1对系统性能瓶颈进行定位
需要掌握查看日志的方法,查询数据库连接数或进程数,
查询web服务器连接数或请求数
2 对系统参数进行调优
针对操作系统、数据库、中间件服务器等:
是软件,就一定会有参数配置,这些配置,也是系统发生性能问题的重要原因
3 发现算法的缺陷
主要从时间的维度,去定位算法缺陷(一般情况下开发自己就能定位到)
4 验收测试
验收测试的时候,你报告里写的是最多多少人同时在线
以报告的形式,把测试出来的性能指标,给到那些需要这些指标的人(老板、开发、运维、客户)
5 容量规划
容量的规划,就是一种预估。根据业务场景去预估服务器压力等。
总结
产品从各种维度考虑,都需要进行性能测试。
多数情况下,产品做出来之后,人们往往更关心的不是功能,而是它的性能。
比如,特斯拉电动车,续航是多少公里。某跑车,百公里提速是多少秒。同等级的轿车,都能开到140,以同样的速度和公里数,哪个更费油?哪个更稳定性?哪个操控性更好?这些都是性能领域。
产品谁都能做,但高性能的产品,才具备市场竞争力,所以要做性能测试,保证性能指标
性能测试的部署策略
1 什么时候做性能测试
①项目刚上线的时候:用户为0(避免用户量突然增加,系统承受不住)
②发布活动的时候:节日商品秒杀,打折优惠,某时间段促销,大批量用户集中访问下单(平时没这么多用户)
③版本迭代的时候:新功能产生(类似刚上线)
④高负载的稳定性:推出免费课程,一天内就会持续增长,要看负载,一个视频网站最多容纳多少人(只进不出)
2 如何模拟生产环境
①等比模拟硬件:生产环境是100台,那么测试就等比缩小为10台
②同步软件版本位数:因为不同版本,会有细微差别(所有软件)
③使用负载均衡模拟共享中心的应用:负载均衡主要做分发,分发机制类似共享中心
④最大限度避免网络问题:将服务器置于同一机房,避免由于网络波动而出现的性能问题(忽略网络)
注意:
1做性能测试,不要直接去互联网测去,有网络,有时候就不知道问题是哪出的
2性能的测试环境,必须是自己搭建的,这样面对多个影响因素,才能做到心中有数
3性能测试的数据准备
①数据的分类:性能测试与功能测试的数据库,要相互独立
1)基础数据:让表中数据达到一定数量级,目的是测出数据库索引是否需要优化,表空间、索引空间是否足够
2)业务数据:被测系统能够按业务逻辑运行起来的数据,目的是测出SQL语句和程序代码是否需要优化 ☆
注意:性能测试,一定是需要大数据量
注意:基础数据主要体现存储空间,业务数据主要是看操作速度 ☆
②数据的准备:
1)利用性能测试工具构建
2)写循环代码SQL插入数据表
3)从生产库中拷贝