性能测试基础---性能测试基础指南2

·计算机操作系统:
·计算机由硬件和软件构成:
·硬件:CPU、内存、磁盘和网卡
CPU:是计算机的大脑,决定了计算机的处理速度。
一般来说,CPU处理任务是采取的串行方式--时间片轮转机制。

内存:是运行时存储,计算机在进行任务处理的时候,是需要有内存的。

磁盘:是永久存储,一般我们需要持久化的数据都会存储在磁盘中。
和实际测试牵涉比较多的是数据库和静态文件的读写。

网卡:决定了传输速度。

·软件:
·操作系统及系统软件:
通过操作系统,其它软件才能够去操作硬件。
一般来说,不论是windows还是linux,都提供了相应的系统软件(系统命令)来对系统进行相关的监控操作。

·应用软件:通常我们的应用软件一旦安装,则称之为服务器。

·计算机网络:
计算机本身是孤立的,计算机之间要进行通信,则需要有计算机网络的存在。

计算机网络就相当于是马路,是用来实现不同计算机之间的连接的,实现通信的。

关于计算机网络,大家需要了解和掌握两个基本的模型:
OSI模型:开放式系统互连模型,是由ISO组织定义的通信的参考模型。只定义了分层的概念、每一层要完成的工作,但是并没有定义每一层的实现接口。
OSI模型将网络通信分为七层:
·应用层:实现不同的应用的目的。
·表示层:实现数据格式、加密等处理的。
·会话层:表示不同的节点之间通过数据的传输实现了会话。
·传输层:实现数据的传输。
·网络层:实现网络地址的分配。典型设备:路由器。
·数据链路层:构建节点和节点之间的通信规则。交换机属于典型的二层设备。
·物理层:设备有网卡(网络适配器)、网线、集线器、中继器。

TCP/IP模型(TCP/IP协议簇):是一个已经实现了的通信模型,或者说是一系列的通信协议的集合体。基于OSI模型,又和OSI模型有所不同。
·应用层:包含应用层、表示层、会话层。
TCP/IP模型认为,应用层应该是由应用自身去控制会话、表示和应用的。
常见的应用层协议有:http、https等。
·传输层:传输层(TCP、UDP)
·TCP协议:面向虚电路的协议。是一种面向连接的协议。
TCP三次握手:用于建立连接
TCP四次分手:用于断开连接。
理论:双向确认的过程。

特点:数据传输可靠、有序、可以缓冲、超时控制、重发等。

·UDP协议:面向用户包的协议。是一种不连接的协议。
特点:数据传输是不可靠、无序、快速的。

从传输性能来说,UDP的性能要优于TCP。

·网络层:网络层(IP、ARP)。
在IP协议中,规定了通信双方法的源地址和目标地址。
·网络接口层:包含数据链路层和物理层。

单位:物理层的网络单位叫带宽,单位是bit位。 bps
传输层的网络单位叫数据流量,单位是byte字节。 b/s
1byte=8bit。

·架构体系:
目前来说,主流的架构体系都是依托于三层架构理念来建立的。
·客户端:Client
·服务器:Server
·数据库服务器:DBServer

根据客户端的不同,常见的架构体系有:
·C/S:Client/Server,由专有客户端来实现和服务器的通信。
通信协议很多时候都是专有的应用层协议(自定义的。)
·B/S:Browser/Server,又叫web application。
通信协议一般都是标准的http或者https协议。
·APP:特指移动设备上的软件。

从本质上来说,不论C/S还是B/S还是APP,从性能测试的角度来说,都是去模拟客户端向服务器发送的请求(应用层)。

·客户端技术:
以B/S架构为例。
在B/S应用中,客户端软件一般就是浏览器。
客户端的作用:
·解析客户端程序(页面)、提供交互给用户。
·接受和处理用户输入的数据。
·组装和发送数据给服务器。
·接收服务器的响应,并且解析展示给用户。
浏览器的区别在于浏览器内核,浏览器的内核主要的有:
·IE内核:IE浏览器的内核
·webkit内核:主要用于safari和chrome浏览器。
PS:chrome浏览器目前的内核叫blink,是基于webkit所做的分支。

·gecko内核:火狐浏览器。

·presto:塞班浏览器。

PS:目前业界都在向webkit靠拢。
浏览器的内核主要影响的是兼容性

B/S应用中,客户端常用的技术有:HTML、Javascript、css等。

·服务器端的技术:
一般来说,为了更好的实现服务器相关的效果,服务器通常会被分为web服务器和应用服务器。
·web服务器:有时又叫前端服务器。
作用为:
·监听端口,并且提供服务给客户端。
·接收客户端的请求。
·转发、调用应用接口或者处理客户端的请求。
·将处理结果返回给客户端。
典型的web服务器有:
·apache
·tomcat
·lighttpd
·IIS
·nginx

·应用服务器:又叫中间件服务器。
作用:
·模块化业务处理逻辑,提供接口给前端服务器调用。
·处理复杂的一些业务逻辑。
·一般都需要中间件或者其他的脚本引擎来支撑。
·直接接触数据库服务器,但是不直接接触客户端。
常见的应用服务器有:
·tomcat
·jboss
·weblogic
·websphere
·IIS

一般来说,应用服务器都可以做web服务器用。

·数据库服务器:
数据库按照逻辑模型的不同,可以分为:
·网状数据库
·层次数据库:
·关系型数据库:RDBMS
典型代表:
oracle
mysql
sql server(MS sql)
db2
postgre sql

·NoSQL:not only SQL
SQL表示结构化查询语言,是关系型数据库的官方操作语言,一般作为RDBMS的代名词。所以NoSQl就是指不仅仅是关系型数据库,又叫非关系型数据库。
目前主流的是MongoDB。

原文地址:https://www.cnblogs.com/wendy-0901/p/11576700.html

时间: 2024-10-31 13:49:56

性能测试基础---性能测试基础指南2的相关文章

【腾讯开源】Android性能测试工具APT使用指南

[腾讯开源]Android性能测试工具APT使用指南 2014-04-23 09:58 CSDN CODE 作者 CSDN CODE 17 7833 腾讯 apt 安卓 性能测试 开源 我们近日对腾讯的安卓平台高效的性能测试工具APT团队进行了专访.APT,适用于开发自测和定位性能瓶颈,帮助完成性能基准测试.竞品测试.我们为大家准备了从安装部署到开启APT各功能的介绍资料,方便大家参考. 我们近日对腾讯的安卓平台高效的性能测试工具APT团队进行了专访.APT,Android Performanc

js基础--javascript基础概念之语法

掌握一门语言 必须先掌握它的语法! javascript 的语法和C.Java.Perl 的语法有些相似.但是比它们更加宽松. javascript 中的一切都是严格区分大小写的.例如变量: demo 和 Demo 两个变量是完全不同的. javascript 标示符,所谓标示符 是指 变量.函数.属性 的名字或函数的参数.标示符的格式是按照以下规则组合的一个或多个字符. 1.第一个字符必须是字母,下划线,或 $ 符号. 2.其他字符可以是字母.下划线.$ . 或数字. 注意 不能把关键字 保留

js基础--javascript基础概念之数组(二)

js基础--javascript基础概念之数组 数组栈方法 数组可以像栈一样.栈是一种先进后出的数据结构,最先添加的数据最后一个出来.栈方法添加数据也称为 推入  移除数据称为 弹出. js为数值栈方法提供了 push()   和  pop() ;  两个方法. push() push() 方法接受参数就是你要添加进入到数组的值.push()  方法会将他们逐一添加到数组的末尾  数组的length属性会跟着更新数据. *push(多个数组元素值) 返回的修改后的数组长度 var array =

js基础--javascript基础概念之数组

js基础--javascript基础概念之数组 在ECMAScript 中 ,数组是很常用的数据类型,js中的数组和其他很多语言的数组有明显的区别.js的数组可以保持任何类型的数值,一个数组中可以保存着多个不同类型的数值.js数组大小(长度)是可以调整的.可以随着数据的添加自动增长数组长度. 创建数组: 一.数组字面量 数组字面量由一对包含数组项的方括号[]表示. var array = [ 'kin', 'cheong', 'change', 'hello', 'haha', 'hi' ];

js基础--javascript基础概念之语句(二)

js基础--javascript基础概念之语句(二)label,break,continue.. break .  continue 语句. break  continue 语句用于在循环中精确控制代码的执行,其中break语句会立即退出循环,执行循环后面的语句. continue 则退出循环后返回到再次进入循环中. 如: var num = 0; for(var i = 0; i<=100; i++){ if(i >= 10){ break; } num = i; } alert(num);

[.net 面向对象编程基础] (7) 基础中的基础——修饰符

[.net 面向对象编程基础] (7) 基础中的基础——修饰符 在进入C#面向对象核心之前,我们需要先对修饰符有所了解,其实我们在前面说到变量和常量的时候,已经使用了修饰符,并且说明了变量和常量的修改符. 首先 修饰符是什么? 修饰符用于限定类型以及类型成员的申明 从定义可以看出按功能分为两类:访问修饰符和声明修饰符 1.访问修饰符 (5个) 访问修饰符 说明 public 公有访问.不受任何限制. private 私有访问.只限于本类成员访问,子类,实例都不能访问. protected 保护访

[.net 面向对象编程基础] (6) 基础中的基础——运算符和表达式

[.net 面向对象编程基础] (6) 基础中的基础——运算符和表达式 说起C#运算符和表达式,小伙伴们肯定以为很简单,其实要用好表达式,不是一件容易的事.一个好的表达式可以让你做事半功倍的效果,比如三元表达式,可以让你少写N多个if和case语句. 表达式 由 操作数(operand) 和 运算符(operator) 构成 1.运算符分类和优先级   2.运算符按操作数目分类   一元运算符 -x  x++  x-- 二元运算符 x+y  x+1 三元运算符 c ? x : y 3.表达式分类

js基础--javascript基础概念之变量与作用域

js基础--javascript基础概念之变量.作用域 javascript按照ECMA-262 的定义,变量与其他语言变量有所不同.js变量时松散的,不需要事先定义变量类型的.这使得他只是一个保存特定值的一个名称.变量与其数据类型可以在脚本的生命周期内改变. 还有明白几点: JavaScript的变量作用域是基于其特有的作用域链的,JavaScript没有块级作用域. 基本类型和引用类型的值 ECMAScript 的变量有两种不同的数据类型:分别是 基本数据类型值 和 引用类型值 : 基本数据

[.net 面向对象编程基础] (3) 基础中的基础——数据类型

[.net 面向对象编程基础] (3) 基础中的基础——数据类型 关于数据类型,这是基础中的基础. 基础..基础..基础.基本功必须要扎实. 首先,从使用电脑开始,再到编程,电脑要存储数据,就要按类型存储,就跟我们买来衣服一样,裤子,上衣,冬天的,夏天的,总要分个类再放进衣柜中一样.越是高级的编程语言,数据类型分的越详细. 问题来了,这么多数据类型,我们是不是要一一记住,这真不是个省心的事情,不用怕,不用怕,不用怕,重要的事情说三遍. 重点:C#就15种数据类型. 准确来说,是15种预定义类型,

js基础--javascript基础概念之语句

js基础--javascript基础概念之语句 ECMA-262定义了一组语句(流程控制语句) 语句定义了EMCAScript 语法. 常见的if语句. 语法: if(condition) statement1 else statement2 其中.Condition 可以是任意表达式.而且对这个表达式求值的结果不一定是布尔值.因为script 会自动调用boolean 将值转换为布尔值.如果condition 的值是 true .则执行statement1 语句  否则  执行 stateme