性能测试day01_性能基本概念
其实第一次接触性能是15年的时候,懵懵懂懂的被领导拉去做第一次做性能压测,如今有机会重新听一下云层大大讲解性能,于是打算以此博客记录下整个学习的过程,如若有不同意见者可以在下面留言指出,也欢迎大家一起来探讨性能测试。
进入今天的主题,今天的主要目的就是构建整体的思想,那么第一个问题来了,什么是性能测试?简单的来讲是不是就是性价比测试(这个本质上来讲是不是就是对比单位价格内的处理能力),性价比准确的来讲又是软硬件的投入对TPS的影响。
请看下图的一个思路过程:

什么是性能问题?时间性价比的问题,具体到我们系统来讲是不是就是访问量的问题?
那性能测试做什么呢?目前来讲有两种,第一种是证明满足需求的过程(性能需求->验证需求->给出结论),第二种是获取相关指标提供决策(设定方案->获取指标->决策判断依据),大部分人可能都是第一种。
测试系统满足性能需求需要经历的阶段如下:
1.性能需求是啥?(大部分性能问题没法做就是需求问题没弄清楚)
2.测试方式是啥?(第一点性能方案的设计,第二点就是工具方法)
3.结果怎么收集?(监控命令和监控平台如:zabbix、普罗米修斯)
4.报告怎么编写?
所以说性能测试就是为了验证在一定环境下系统满足性能需求的测试,主要验证性能指标(响应时间、吞吐量、资源利用率)。
由于网上对这几个性能指标众说纷纭,而且不一定准确,这边来重新梳理下:
- 响应时间:分为事务响应时间(做一件事情所产生的所有时间开销,包括前后的等待时间等)和平均响应时间(某一个时间段内的响应时间分布趋势,这里有有两个点,一个是时间段的长度还有个就是时间段的位置;TPS也不一定是每秒的事务个数,取决于工具切的时间段),一般用平均响应时间作为参考依据而不是事务响应时间。
- 吞吐量:是否以秒为单位以及单位下事务分布的情况?工具求出来的TPS不能完全以秒为单位!
- 资源利用率:占用资源的百分比(可能存在某个节点的瓶颈但总占用率不高,例如多核CPU中的一个占用很高)和数量制(不太明确的总量,比如IO的处理能力(每秒字节数。不是百分比),以数量来表达,此时我们就需要了解每个计数器的概念和表达方式)。
总的来讲,根据这些数据了解系统的工作情况,最终给出分析调优的建议和总结报告,而分析调优的建议则取决于自身的眼界,所以说性能测试是一项需要掌握知识面非常广的测试项目。(千万别放弃哈!)
性能测试day01_性能基本概念的更多相关文章
- 【性能测试】性能测试总结<一>
目录: 一. 什么是软件性能 二.不同群体眼中的性能 三.性能测试类型 四.性能测试应用场景 五.性能测试基本概念 正文: 一. 什么是软件性能 定义:软件的性能是软件的一种非功能特性,它关注的不是软 ...
- 性能测试学习第一天-----概念、环境、LR录制&参数化
1.性能测试的概念: 通过一定的手段,在多并发情况下,获取被测系统的各项性能指标, 验证被测系统在高并发下的处理能力.响应能力.稳定性等,能否满足预期.定位性能瓶颈,排查性能隐患,保障系统的质量,提升 ...
- 性能测试-ORACLE性能监控
通过lr做性能测试的过程,通过监控Oracle数据库的性能 采用的监控工具:PeOny PeOny安装 1. 安装服务端 1) LINUX平台安装 解压缩peony3.x.0.x.tar.gz文件,b ...
- 【性能测试】性能测试总结<四>
性能测试常见指标 性能测试说白了就是通过工具模拟多个用户对被测系统进行访问.然后查看系统对于多个用户发来请求的处理能力. 左边的两个小人表示两个用户,向右边服务器发送请求,然后得到服务器 ...
- 【性能测试】性能测试总结<三>
常见性能测试工具: 性能测试工具,从理论上来讲在性能测试过程中使用到的所有工具都可以称其为性能测试工具,通常分为以下几类: 说明: 服务器端性能测试工具:需要支持产生压力和负载,录制和生成脚本,设置和 ...
- 【性能测试】性能测试总结<二>
本文主要介绍下性能测试的基本流程,性能测试从实际执行层面来看,测试的过程一般分为这么几个阶段,如下图: 下面分别介绍下每个阶段具体需要做什么: 一.性能需求分析: 首先,让我们来看看通过性能需求分析我 ...
- Android 性能优化概念(1)
http://www.open-open.com/lib/view/open1421723359718.html#_label0 阅读目录 0)Render Performance 1)Underst ...
- 性能测试day04_性能监控
好了,今天接着来学习性能,在今天开始前,我今天在网上又看到了理发师经典模型,这里稍微提一下,详情可以百度哈,下面这张图是网上找到的经典场景性能相关的图,大致说明下: 这张图中展示的是1个标准的软件性能 ...
- 性能测试-MySQL性能查看(转)
mysql查看数据库性能常用命令 mysql> show global status; 可以列出MySQL服务器运行各种状态值,另外,查询MySQL服务器配置信息语句: mysql> sh ...
随机推荐
- 在free bsd上跑JMeter 的 plugin "PerfMon Server Agent"
在free bsd上跑JMeter 的 plugin "PerfMon Server Agent" 目的: 在free bsd上跑JMeter 的 plugin "Per ...
- sbt第一次运行下载jar包很慢解决办法
一.补充sbt配置文件,添加下载路径 文件结构如下:修改了sbtconfig.txt,repo.properties. sbtconfig.txt配置内容为: # Set the java args ...
- linux 添加用户并赋予root权限
1.添加用户,首先用adduser命令添加一个普通用户,命令如下: #adduser tommy //添加一个名为tommy的用户#passwd tommy //修改密码Changing pass ...
- TL-WDR4310 v1 救砖
一.引出ttl线 用万用表测量,可以确定“GND”,第一个pin(焊盘为方的)为“Tx”,接下去依次为“Rx”.”GND”.”VCC“. 二.工具准备 下载tptpd软件工具,图标为 三.开始刷机 1 ...
- HTTP协议之chunk介绍
http chunked 当客户端向服务器请求一个静态页面或者一张图片时,服务器可以很清楚的知道内容大小,然后通过Content-Length消息首部字段告诉客户端需要接收多少数据.但是如果是动态页面 ...
- tomcat整体架构
1.背景 Tomcat作为JavaWeb领域的Web容器,目前在我们淘宝也使用的也非常广泛,现在基本上所有线上业务系统都是部署在Tomcat上.为了对平时开发的Web系统有更深入的理解以及出于好奇心对 ...
- ALGO-117_蓝桥杯_算法训练_友好数
问题描述 有两个整数,如果每个整数的约数和(除了它本身以外)等于对方,我们就称这对数是友好的.例如: 9的约数和有:+= 4的约数和有:+= 所以9和4不是友好的. 220的约数和有: = 284的约 ...
- C++11--随机数引擎和随机数分布<random>
/* 随机数引擎: * 有状态的随机数发生器,生成在预定义的最大小值之间的随机数 * 不是真正的随机数--伪随机 */ int main () { std::default_random_engine ...
- Java 线程转储 [转]
http://www.oschina.net/translate/java-thread-dump java线程转储 java的线程转储可以被定义为JVM中在某一个给定的时刻运行的所有线程的快照.一个 ...
- Javascript中的词法作用域、动态作用域、函数作用域和块作用域(四)
一.js中的词法作用域和动态作用域 词法作用域也就是在词法阶段定义的作用域,也就是说词法作用域在代码书写时就已经确定了. js中其实只有词法作用域,并没有动态作用域,this的执 ...