性能测试:是指在特定状况下测试系统如何执行的。资源的使用、可扩展性和可靠性也是性能测试的范畴。性能测试是性能工程的一个子集,主要发现软件架构以及设计致使的性能问题。浏览器
性能测试的目标:主要目标是测出系统运行的性能指标基线,咱们在测试中也可能测试一些业界定义的性能指标基线。性能测试的目的不是寻找应用程序的缺陷,它更加剧要的目的是
测试基线以及程序的标准性能。性能测试特征就是关注测试性能测试的结果 以及持续的监控。多线程
性能测试工具分类架构
性能测试工具主要包括服务端性能测试工具和客户端性能测试工具。本次培训侧重于服务端性能测试的讲座并发
服务端性能测试工具工做原理分布式
服务端性能测试工具仿真度高并发
协议模拟:是性能测试工具直接模拟客户端向服务端下发的请求协议。
客户模拟 :是性能测试工具间接的模拟客户向服务端下发的请求协议,它是经过驱动客户端界面操做,由
客户端程序向服务端下发请求协议。工具
性能测试工具工做原理:协议模拟性能
对于消费者用户,常常使用浏览器上网,而后在地填栏中输入网址,而后回车,便可看到想要看的网站页信息。可是就这样一个小小的回车操做,浏览器为了把网页展示在用户面前,须要调用大量的HTTP请求。这些请求之间是并发的(HTTP1协议,浏览最高支持6个并发。HTT2协议,浏览器能够并发到100-200)。经过这些HTTP请求来得到页面上的各类显示元素(图片、按钮、表格等)。你们能够在打开浏览器按F12按钮并切换到network 页面,能够查看到浏览器下发HTTP请求的瀑布图。
每个终端用户的操做都是一个瀑布图,下图是三个终端用户坐标图,用以说明服务端与客户端之间的关系,以及客户端的瀑布图对服务端产生压力的原理性说明。
性能测试工具对服务端进行性能测试,首先要作的就是先仿真单个用户,再经过单个用户延伸出多个用户。多个用户模拟,性能测试工具大部分采用多线程实现,一个线程经过执行HTTP脚本仿真一个用户,用户的并发请求,线程经过并发执行HTTP请求实现。学习
性能测试工具协议模拟仿真能力对比测试
目前业界的性能测试基本都以协议协议模拟为主,只有kylinTOP测试与监控平台同时支持协议模拟和客户模拟两种方式。这两种方式的优缺点上面也介绍了。下面咱们重点看一下协议模型仿真度对比状况。从下图看只有“kylinTOP测试与监控平台”提供的协议的精准度最高。
性能测试工具的架构图
一款好的性能测试工具的应当是分布式系统。目前业界大部分性能测试工具都是C/S架构(如:loadRunner ,Jmeter),kylinTOP测试与监控平台架构是采用B/S架构。
可是它们都有一个共同的特征,执行器(用于性能执行脚本)能够分布在多台机器上,用于支撑高并发的场景。下图是以kylinTOP测试与监控平台为原型的系统架构图,以供你们学习和加深理解性能测试工具的体系结构。
性能测试工具基本操做步骤
下图以"kylinTOP测试与监控平台"性能测试的基本操做为原型画出的一张性能测试的基本流程。其它性能工具的操做流程基本类似。它们之间的差别点主要体如今对每一个操做小步骤的能力支撑的程度的高低。