性能测试通用分析思路和报告编写技巧

1. 通用分析思路

观察现象——>层层递进——>缩小范围——>推理分析——>不断验证——>确定结论

观察现象:现象只要是指页面的表现、服务器的资源表现、各类中间件的健康度、log日志、

各类软件的参数、各类数据库的健康度等。

需要关注的公共指标:响应时间、TPS、QPS、成功率、CPU、MEMORY、IO、连接数、进程\线程数、缓存命中率、流量等;

除了公共指标外,还有一些针对具体系统软件需要监控的指标。比如,JVM中各内存代的回收情况以及GC的情况,PHP-FPM中的max active processes、slow  requests等。

层层递进:按照系统的层级一层层的分析排除,从应用服务器一层开始,逐层排查,最终会分析到数据库层。

缩小范围:经过层层递进后,排除和分析的范围就缩小了。

推理分析:需要秉承大胆猜测、小心求证的原则。

不断验证:如果我们没有足够的经验,在分析的时候很难一针见血,耐心的不断验证是我们唯一的方法。

确定结论:多练习多总结

典型的三层架构模型:

Client——web server ——DB server

2. 测试报告编写技巧

1)结构清晰,要有较好的层次感,这样看起来才不会乱。

2)描述简洁,不要过多的废话;

3)图文混合,一图胜千言,能用一张图说清楚的就不用一段话;

4)数据对比,有数据,有对比,才更有说服力

另外,针对不同的人要写不同的报告。针对领导,要尽量避免专业术语,要用更容易理解的话来描述。如果发送给技术人员,可以站在专业的技术角度去编写,体现分析过程、细节、解决方案以及结论。

对于分析出来的问题,要给出适当的解决方案。

原文地址:http://blog.51cto.com/1108944/2107353

时间: 2024-10-12 12:07:13

性能测试通用分析思路和报告编写技巧的相关文章

性能测试-服务端瓶颈分析思路

概述 性能测试中,对服务端的指标监控也是很重要的一个环节.通过对各项服务器性能指标的监控分析,可以定位到性能瓶颈. 后端性能指标有CPU,内存,网络,I/O等等 分析思路 整体系统CPU利用率 内存利用率 磁盘I/O的利用率和延迟 网络利用率 CPU定位分析 CPU利用率大于50%,需要注意:大于70%,需要密切关注:高于90%,情况比较严重. 监控命令:vmstat.sar.dstat.mpstat.top.ps 类型 度量方法 衡量标准 利用率 1.vmstat 统计1-%idle 2.sa

Web下的整体测试 --性能测试及优化思路

随着Internet的日益普及,现在基于B/S结构的大型应用越来越多,可如何对这些应用进行测试成为日益迫切的问题.有许多测试人员来信问我B/S的测试如何做,由于工作较繁忙,对大家提出的问题也是头痛医头脚痛医脚,没有对WEB的测试过程做一个整体的概述.希望通过本篇能够让大家了解大型Web应用是如何来进行测试的. B/S下的功能测试比较简单,关键是如何做好性能测试.目前大多数的测试人员认为只要跑一些测试工具证明我的产品是可以达到性能的就ok了,为了证明而去测试是没有任何价值的,关键是要发现产品性能上

多线程_java多线程环境下栈信息分析思路

导读:Java多线程开发给程序带来好处的同时,由于多线程程序导致的问题也越来越多,而且对问题的查找和分析解决对于菜鸟程序原来是是件头疼的事.下面我就项目中使用多线程开发程序过程中遇到的问题做详细的分析和解决思路的分享.本人也属菜鸟,忘大神指点. 项目描述: 工作中要编写一份程序用于爬取某某网站上的大量图片.从HBase里面遍历出所有的爬取任务,开启固定大小的线程池Executors.newFixedThreadPool(100),提交线程,线程每个线程做的事情是使用FileUtils.copyU

使用RNN解决NLP中序列标注问题的通用优化思路

/* 版权声明:可以任意转载,转载时请标明文章原始出处和作者信息 .*/ author: 张俊林 序列标注问题应该说是自然语言处理中最常见的问题,而且很可能是最而没有之一.在深度学习没有广泛渗透到各个应用领域之前,传统的最常用的解决序列标注问题的方案是最大熵.CRF等模型,尤其是CRF,基本是最主流的方法.随着深度学习的不断探索和发展,很可能RNN模型会取代CRF的传统霸主地位,会成为解决序列标注问题的标配解决方案. 本文主要抽象出利用RNN解决序列标注问题的通用优化思路.这个RNN优化思路应该

转:使用RNN解决NLP中序列标注问题的通用优化思路

http://blog.csdn.net/malefactor/article/details/50725480 /* 版权声明:可以任意转载,转载时请标明文章原始出处和作者信息 .*/ author: 张俊林 序列标注问题应该说是自然语言处理中最常见的问题,而且很可能是最而没有之一.在深度学习没有广泛渗透到各个应用领域之前,传统的最常用的解决序列标注问题的方案是最大熵.CRF等模型,尤其是CRF,基本是最主流的方法.随着深度学习的不断探索和发展,很可能RNN模型会取代CRF的传统霸主地位,会成

第一次OllyDbg逆向记录(分析思路和注意点&其他文章)

OllyDbg 操作菜单栏.工具栏.快捷键 C++调用加强 目录 OllyDbg 操作菜单栏.工具栏.快捷键    1 一.    载入观察    1 1.静态载入观察:    1 2.OD动态观察    1 二.    初步尝试下断查找目标    1 1.如何下断    1 2.接下来有两个选择:    1 2.1手动F9运行目标    1 2.2设条件断点    1 2.3 CALL调用时堆栈小解    1 3.初步断点目标 (条件触发情况)    1 三.调用栈回溯    1 1.回溯到无

如何能提高CSS编写技巧 提高Web前端开发效率

如何能提高CSS编写技巧?怎么学好Web前端开发?很多人在学习Web前端时,刚开始都会学习HTML和CSS,HTML用于文本内容,CSS用于样式设计,掌握这两部分知识就可以进行简单的页面制作.不过如果耗时过长作品一般未免有些得不偿失,因此你需要掌握一些技巧,以提高CSS编写效率. 1.使用flex进行布局 flex弹性布局的出现是有原因的.浮动和inline-block虽然也能实现很多的布局效果,但它们本质上是文本和块元素布局的工具,而不是面向整个网页的.flex可以很容易的按照我们预期的方式创

性能瓶颈分析思路

性能瓶颈分析思路 性能分析是一个大课题,不同的架构.不同的应用场景.不同的程序语言分析的方法各有差异,抽象一下大致分为二类: 自底向上:通过监控硬件及操作系统性能指标(CPU.内存.磁盘.网络等硬件资源的性能指标)来分析性能问题(配置.程序等的问题).因为用户请求最终是由计算机硬件设备来完成的,做事的是 CPU. 自顶向下:通过生成负载来观察被测试的系统性能,比如响应时间.吞吐量:然后从请求起点由外及里一层一层的分析,从而找到性能问题所在. 不管是自底向上还是自顶向下,关键点就是生成负载.监控性

常见的内存问题分析思路

一 系统内存不足 Java 应用一般都有单机或者集群的内存水位监控,如果单机的内存利用率大于 95%,或者集群的内存利用率大于80%,就说明可能存在潜在的内存问题(注:这里的内存水位是系统内存). 除了一些较极端的情况,一般系统内存不足,大概率是由 Java 应用引起的.使用 top 命令时,我们可以看到 Java 应用进程的实际内存占用,其中 RES 表示进程的常驻内存使用,VIRT 表示进程的虚拟内存占用,内存大小的关系为:VIRT > RES > Java 应用实际使用的堆大小.除了堆内