性能测试实战(二):性能测试基础
一、性能测试流程
1、性能测试准备
(1)需求分析,因为我们的产品出的需求不一定准确
(2)需求需要反复讨论,确认需求,明确性能指标
(3)自己部署性能测试环境
我们需要什么,系统软件架构
这些软件怎么部署
如果使用Jenkins,构建命令 你得清楚
(4)企业中性能测试,一般都是性能测试人员独享
工作量不一样,同样一个需求,性能测试时间大概是功能测试2.5倍
(5)确认接口协议(默认http)
2、搭建性能测试环境
(1)服务环境+数据库服务环境+网络环境
企业中性能问题,70%问题都与数据库有关
3、性能测试脚本开发
(1)工具选择(根据协议选择)
(2)写脚本
(3)脚本性能转换(将功能测试脚本转换成性能测试脚本)
(4)性能场景设计
简单场景:单接口
混合场景:多接口混合
4、性能测试脚本执行(时间很长)
(1)多轮测试,才能找到我们的并发用户数的具体值
这个时间比较长
(2)性能问题
定位分析
5、结果分析与调优(时间非常长)
(1)分析思路:服务器硬件瓶颈-》网络瓶颈-》服务器os瓶颈(参数配置、数据库、web服务器)-》应用瓶颈(sql语句、数据库设计、业务逻辑、算法)
(2)有些我们可以调优,有些不行
6、测试报告与结果跟踪
二、性能测试对象
通过接口调用服务器能力,测试我们服务器的性能,对服务器的性能进行分析于调优。
1、主要内容,是接口调服务器,进行服务器性能分析
所以,服务器是测试重点。
2、因为,我们是用的接口,接口,即用户端与服务器进行数据传输通道,所以,我们的性能分析与调优可以使用于用户端。也就是说,服务器端性能得到调优之后,用户端的性能,也会变好。
用户端的性能测试,与用户的设备有很大关系,在做用户端的性能测试,有非常大的差异性,与服务器端的性能测试是不一样的。
所以,现在主流的性能测试,是服务器端的性能测试。
所以,就必须要有服务器的相关知识,说白了Linux系统的相关性能,现在的主流的服务器都是Linux服务器,少量的是window,但是绝对没有mac作为服务器的。
3、Linux的相关知识、基本命令使用,是必须要掌握的,Linux中部署环境这个也是必须要掌握, linux的系统知识操作系统原理)
4、服务器:硬件+操作系统+服务一起,提供能力输出,我们才叫他为服务器
服务:可以是自己公司开发的产品、可以某一些软件
三、服务器硬件的发展过程
1、台式机 -》刀片机 -》虛拟机 -》云服务器
这个中间,有一个非常重要技术虚拟技术
2、刀片机,是一种在台式机上,进行了专项优化之后,专门用于做为服务器的硬件机器。
(1)Linux系统,作为服务器,国内用的更多是 centos,是我们Linux的一个发行版本, ubuntu也有一定市场
(2)少量 windows server系统
(3)此时,我们的刀片机构成的系统,还是只有1个
3、出现了虚拟机技术(操作系统)
(1)开始在刀片机上虚拟多个操作系统
(2)服务器==硬件+操作系统(n)+服务==n个服务器
这个时候,我们的服务器资金投入就可以降低
我们的总体能力输出,也更强了
4、出钱买大是的硬件设备+不断提升虛拟化技术
在大量的硬件设备上,使用更加优化的虚拟化技术之后,能够更低成本的建造出虚拟的操作系统,当这个操作系统数是巨大时,这个时候,云就出现了。
当这个云技术出现之后,有了大量的操作系统,这个成本就急剧下降,下降到比硬件成本要低很多的时候,我们企业就开始使用了云服务器上的操作系统了。
5、服务发展
(1)最开始,所有的项目代码,都放在1个工程下面
随着功能不断的迭代更新,项目的代码越来越多,那么,我部署的服务器的资源,也就会要求越来越高,因此通过以下几个方面进行了处理:
拆服务:数据库、文件服务、应用服务-服务能力有所增强
构成集群,集群越大,我的输出能力也会越强
集群:集合相同能力的机群(集合有相同能力输出的服务器,一起向外提供更强能力输出)
负载均衡:根据我们能力提供者的情况,动态分配它承受的压力,这涉及到负载均衡策略
继续拆分:形成应用服务器
把应用拆小,比较常见的方式,是根据模块拆分,形成微服务
最开始拆分的粒度比较粗
越到最后,拆分的粒度就越 细
管理上就成了一个问题
系统架构的不断优化
架构也就越来越复杂
四、相关知识补充
1、数据库
(1)关系型数据库:mysql\Oracle\postgresql\sqlserver
(2)非关系型数据库:redis\mongodb
(3)时序数据库:根据时间顺序存储数据 influsdb\Prometheus
按照时间顺序取出数据,这个数据就是一条折线,所以,作为监控来使用非常适合。
2、测试人员通病
(1)网络知识薄弱
(2)害怕英语
性能测试实战(二):性能测试基础相关推荐
- JSTL实战二之基础
JSTL实战二之基础 一.JSTL的灵感 JSTL的设计灵感来自JavaScript和XPath WEB编程基于http,而http是简单的协议,所有的数据以字符形式提交,而java是一种强类型的语言 ...
- 应用程序框架实战二十三:基础查询扩展
上面两篇已经作好准备,本文将进行基础查询扩展.当使用了Entity Framework这样的ORM框架以后,我们查询的核心被集中在IQueryable的Where方法上. 如果UI需要通过姓名查询一个 ...
- 《WEB性能测试实战》之WEB性能测试分析
性能测试的结果分析是性能测试的重中之重.在实际工作中,由于测试的结果分析比较复 杂.需要具备很多相关的专业知识,因此常常会感觉拿到数据不知从何下手.这也是我学习性能 测试过程中感觉比较尴尬和棘手的事, ...
- 性能测试 性能测试实战(八)Jmeter性能测试平台开发,性能测试平台架构解析 ,性能测试平台搭建 分布式性能压测平台 Jmeter分布式性能测试管理平台 性能测试平台示例案例 《完结篇》
文章目录 一.前言 二.Jmeter分布式性能测试平台 介绍 1.Jmter分布式性能测试平台 简介 2.Jmeter分布式性能测试平台 优秀案例1 3.Jmeter分布式性能测试平台 优秀案例2 4 ...
- 《Web性能测试实战》性能测试用例模板
<Web性能测试实战>性能测试用例模板 <LoadRunner性能测试实战>图书配套性能测试课程: 1.性能测试入门与虚拟用户开发基础(点击进入) ...
- 软件测试项目实战之性能测试篇,软件测试项目实战之性能测试篇
第 1章 性能测试基础 1 1.1 性能测试概念 2 1.2 性能测试作用 3 1.3 性能测试指标 4 1.4 性能测试流程 5 1.5 性能测试的分类 7 1.6 性能测试工程师技能模型 8 1. ...
- 【微信小游戏实战】零基础制作《欢乐停车场》二、关卡设计
1.游戏立项 微信小游戏中有一款<欢乐停车场Plus>的小游戏,大家可以搜索玩下.这是一款益智类的小游戏,游戏中有红.黄.绿.蓝.紫5辆豪车6个停车位,玩家通过可行走路线移动小车,最终让各 ...
- WiFi基础学习到实战(二:WiFi网络“数据链路层”)
欢迎大家一起学习探讨通信之WLAN.上节我们对802.11标准基于OSI模型进行了分析,主要将OSI模型的"数据链路层"定义分为"LLC层"和"MAC ...
- 【在线专家问答】 - WEB性能测试专家 唐勇 与您分享《性能测试实战经验》
[在线专家问答] - WEB性能测试专家 唐勇 与您分享<性能测试实战经验> http://www.automationqa.com/uchome/space.php?uid=1& ...
- 小强软件测试_小强老师零基础学习软件测试视频教程 理论篇+自动化篇+工具篇+实战等零基础课程...
小强老师零基础学习软件测试视频教程 理论篇+自动化篇+工具篇+实战等零基础课程 1.jpg (53.32 KB, 下载次数: 0) 2017-10-5 09:33 上传 2.jpg (49.08 KB ...
最新文章
- Linux环境程序栈溢出原理
- python写文件读文件-python(文件读写)
- MySQL 5.7 for Windows 解压缩版配置安装
- check $m2_home environment variable and mvn script match
- 不是有效的win32应用程序_杀毒软件有坑!三分之二的安卓杀毒软件的“主业”并不是杀毒...
- python画4维图_用Python 画个六维图,涨姿势了
- eclipse项目导入idea部署到tomcat
- Windows服务一直“正在启动”怎么杀
- java编程题50道
- 红米Note刷机包 移动版 开发版4.9.23 蝰蛇音效 CRT锁屏动画 最流畅的ROM
- Linux C recv函数阻塞问题
- 产品初探:银行理财产品简介
- ASEMI肖特基二极管1N5819压降是什么意思
- Mac格式化fat32格式
- t3不能登录到服务器 host文件,T3打开报表提示不能登录服务器,我去服务器设置里面输入了服务器的地址和计算机名还是连到原来的IP,host文件也改过了...
- springboot中使用Mybatis_plus
- Linux下的Web开发工具(一)
- nn.CrossEntropyLoss的ignore_index标签(CE loss)
- TCP报文中的SYN,FIN,ACK,PSH,RST,UR
- vtk相机_VTK 相机类vtkCamera原理及用法