性能测试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 ...
随机推荐
- 【python】序列化和反序列化
序列化可以理解为:把python的对象编码转换为json格式的字符串,反序列化可以理解为:把json格式字符串解码为python数据对象.在python的标准库中,专门提供了json库与pickle库 ...
- VMware Workstation 安装 mac OS 时遇到 不可恢复错误: (vcpu-0)
去客户机的安装目录,打开VMX文件, 比如你的客户机名字为OSX, 这个文件就是OSX.vmx,你将会看到有一个smc.present的参数:smc.present = "TRUE" ...
- azure 1元试用,如何创建虚拟机等
付了1元后,直接进 https://manage.windowsazure.cn 创建虚拟机即可.
- java实现PC之间的udp数据单向传输
本示例包括两个客户端UDPClient和MyServer.UDPClient发送数据到MyServer,MyServer负责接收数据.可传输文本.视频.音频.图片等. 最近我在学习这一块,写个例子. ...
- 删除右键菜单中的Git
在打开的注册表中找到:HKEY_CLASSES_ROOT,并点HKEY_CLASSES_ROOT前面的小三角:找到Directory,点击前面的小三角:找到Background,点击前面的小三角:打开 ...
- 《亲测》nginx webscoket ssl conf配置示例
非crt证书,用的pem,其中 http://localhost:5003 是你要转发到的站点网址 配置的就是 server { listen 80; server_name smarthome.yi ...
- <亲测>CentOS7 安装mysql8.0(YUM方式)
CentOS7 安装mysql(YUM方式) 1.下载mysql源安装包 shell> wget http://dev.mysql.com/get/mysql80-community-rel ...
- C++进阶--自定义new handler
//############################################################################ // 自定义new handler /* ...
- C++进阶--处理拷贝赋值运算符中自赋值的情况
//############################################################################ /* * 处理拷贝赋值运算符=中自赋值的情 ...
- C++进阶--析构函数中的异常
//############################################################################ /* * 不要让异常离开析构函数 * 析构 ...