性能测试

Posted cm039

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了性能测试相关的知识,希望对你有一定的参考价值。

1、需求分析阶段就应该参与,可以深入了解系统业务、重要功能的业务逻辑。

2、定性能指标:迭代项目、新项目。迭代项目根据生产监控、日志分析来评估指标,这里需要做容量规划,新项目单独评估。

3、性能指标:

  tps:每秒处理事物数,通常都是通过的食物

  art:平均响应时间,以及并发数

  服务器资料利用率的要求(CPU,内存,IO,网络等)

  各个服务的资源情况。

4、熟悉系统架构,申请性能测试环境

  web服务器、应用服务器、缓存数据库服务器、数据库服务器、文件服务器等。

  主流技术栈:nginx、dubbo、mysql、redis、jvm等

5、制定性能测试方案

  项目背景及架构分析;

  需要的资源

  技术策略(比如压测、监控、分析工具选择等)

  场景设计

  计划什么时候做什么事等

6、搭建测试环境、准备测试数据

  测试数据分为:基础环境数据和业务数据;

  基础环境数据可以从功能测试的库导过来,改一些配置即可;

  业务数据:存量数据+容量规划数据,比如一个查询接口,都是并发100用户,对应的表数据量是1万和100万,压测结果是不一样的。

  数据量要参考生产环境,新项目除了空库压,最好也做存量数据压。

7、压测脚本开发

  主流程稳定,调试被测接口、开发压测脚本

  客户端并发工具:推荐使用jmeter,主流、开源、请量、免费、功能强大

8、预压测

  少量并发(1个用户),压测10分钟

  ①可以看压测环境功能是否通

  ②估算并发过程中需要多少参数化数据的数据量

9、执行压测并监控

  场景设计好,就可以执行压测,然后监控查看测试各项指标是否满足需求。

  Linux:通常用到的命令:top /vmstat/free/df/sar/iostat/netstat等,一般是多命令配合着用

  Java应用:jvisualvm、、jconsole、jmap、jstat、jstack等,以及自己写的一些shell脚本

  

10、分析定位

  基于上一步的监控数据,对瓶颈进行分析、定位,模块隔离分析、日志分析、内存分析、线程栈分析、代码跟踪等等

11、性能优化

  定位到问题了,大部分情况下,优化方案也就有了,测试可以把自己建议的优化方案告诉开发,开发会结合自己的方案,一起做优化方案评估;如果测试没有优化方案,那就把问题反馈给开发吧,但是也好好学学开发的优化思路,这就是成长的过程

12、性能回归

  优化后,复测

13、编写性能报告

  测试结果是多少?

  测试是否通过?

  发现了什么性能问题?原因是什么?如何优化解决的?系统性能提升了多少倍?优化方案务必写详细,以便上线同事知道,把优化同步到其它各个环境。

以上是关于性能测试的主要内容,如果未能解决你的问题,请参考以下文章

什么是性能测试?性能测试目的?性能测试的主要分类以及性能测试的常用指标?

性能测试- 性能测试指标:

[性能测试]性能测试建议

性能测试时要求20并发,应用的并发数设置成多少合适

软件性能测试包括哪些

性能测试到底该怎么做?