转:SAAS 测试
基于SaaS云计算网络性能测试指标研究
来源:中国软件评测中心 作者:马子明 投稿时间:2011-04-02
1、基于SaaS的云计算
SaaS(Software as a Service,软件即服务)作为应用软件一种全新销售方式已经开始蓬勃发展起来,但是随着SaaS软件客户的增长,网络存储和带宽等基础资源就会逐步成为发展的瓶颈,“云计算”出现为这个问题的解决提供了方向。
基于SaaS的云计算,即提供给客户的服务是服务商运行在云计算基础设施上的应用程序,可以在各种客户端设备上通过瘦客户端界面访问,用户不需要管理或控制网络、服务器、操作系统、存储等底层云计算基础设施。
对软件开发企业来说, 基于SaaS的云计算模式就是自己提供硬件设备与软件投入,然后出租自己的“服务”。因为没有了软件授权费用和硬件使用费用,软件盈利方式将主要通过向客户谋取一定的服务费用来获得。如何衡量软件服务商提供服务的质量优劣,并确定服务收费标准,将是基于SaaS的云计算服务中需要研究和讨论的问题。
云计算实际应用中,即使是非常小的延误,也可能导致非常大的、而且损失惨重的问题。根据研究表明,金融服务公司的网站通常会在三秒以内做出响应,如果响应时间超过了12秒,该公司的业务就会流失。
对于基于SaaS的云计算来说,绝大多数供应商通过公网来交付服务。在这种情况下,交付的数据与公网所承载的其他任何内容一样并没有被区别对待,因此,如果其他用户的流量大量涌入了相关连接,Internet就会突然断流。
因此,对云计算服务所能提供网络性能进行评估和测试,对衡量服务质量尤为重要。
2、基于SaaS云计算网络性能测试指标
衡量云计算的网络性能根据使用的网络设备不同拥有很多指标。最常见最关键的性能指标包括以下几项:新建速率(CPS)、并发数(CC)吞吐量(GoodPut)、响应时间(Response Time)。
(1)新建速率
新建速率指通过数据中心中间网络每秒可以处理的TCP Session速率,单位为CPS(Connections Per Second)。
新建速率中的“新建”是指一个TCP Session成功建立并关闭的整个过程,将TCP关闭方式选择使用TCP FIN报文触发的4次握手关闭方式。此种方式最符合当前普遍的网络协议应用模型。在部分特殊业务需求的测试场景下,还可以采用TCP RESET方式进行快速会话关闭,以检验网络系统能够支持的极限性能。
新建速率指标将主要体现数据中心网络设备的CPU运算处理能力。对新建速率测试开始前,应记录网络处理设备的CPU/Memory等关键性能指标,测试过程中和结束后对这些指标进行监控,实时了解整个网络的运行情况。
(2)并发数
并发数指通过数据中心中间网络可以同时并发存在的最大TCP Session数量,单位为CC(Current Connections)。
并发数指标体现了整网会话保持与表项存储的能力,与网络处理设备的内存大小有直接关系。
对于并发数指标测试来说,尤其需要关注其上层协议的具体应用,一个Telnet连接保持1小时与一个http连接保持1小时在协议处理流程上是有很大不同的,应尽量根据实际网络中的业务流量设计测试模型。
(3)吞吐量
吞吐量指当前网络可以有效传输的最大http数据量,也被称为有效吞吐GoodPut,区别于传统意义上的测试指标吞吐量ThroughPut,结果单位为BPS(Byte Per Second)。
吞吐量指标除了受新建速率的直接影响外,还会受到网络中各设备的交换架构、接口总线等元件单位间处理能力的限制,也直接体现了整个网络的应用数据吞吐转发能力。
吞吐量测试结果很大程度上依赖于新建速率能力,其间关系类似于传统吞吐量BPS(Bit Per Second)与网络设备包转发能力PPS(Packets Per Second)之间的关系。在测试吞吐量的过程中,首先测得网络的新建速率,然后将新建速率测试结果乘以一定比率系数,作为吞吐量测试中使用的的稳定新建速率参数始终不变,测试时逐步提高HTTP有效载荷大小,通过观察出现HTTP连接出现失败前的有效载荷最大传输速率,得到其吞吐量测试结果。
(4)响应时间
响应时间指从客户端发起http请求,到得到正确数据响应所经历的时间,一般用来衡量中间网络的综合处理能力,单位为毫秒。
响应时间指标测试方法主要有两种:一种是基于真实服务器的业务响应时间测试,此测试结果包含了中间网络设备与服务器两部分处理延迟时间;另一种是通过测试仪模拟服务器快速响应请求的测试,这种测试方法可以尽量减少服务器端处理延迟的影响,得到近乎纯粹的网络处理延迟时间。
转:SAAS 测试的更多相关文章
- 【转】腾讯移动品质中心TMQ [腾讯 TMQ] 测试管理平台大比拼
简介 测试管理平台是贯穿测试整个生命周期的工具集合,它主要解决的是测试过程中团队协作的问题,比如缺陷管理.用例管理.测试任务管理等. 目前市面上比较流行的测试管理工具有QC. Mantis. BugZ ...
- 架构设计哲学【三种方式:支持DevOps的原则】
三种方式:支持DevOps的原则 2012年8月22日作者Gene Kim 45条评论 这篇文章是杨波老师分享的一篇文章:这几年对他架构影响最深的一篇文章.主要描述是关于DevOps的,但对系统架构同 ...
- 【转】《从入门到精通云服务器》第七讲—IAAS、PAAS、SAAS
Saas.Paas.IaaS这三个词,一直困扰众人很久.就拿字面意思来说,分别是:软件即服务,平台即服务,设施即服务.小编表示这个不往深了讲,真心看不懂,还容易弄混淆.今天我们就来扒一扒这三者的深层含 ...
- 云计算的三种服务模式:SaaS/PaaS/IaaS
转载http://blog.chinaunix.net/uid-22414998-id-3141499.html 定义 云计算主要分为三种服务模式,而且这个三层的分法重要是从用户体验的角度出发的: S ...
- IaaS, PaaS, SaaS 解释
IaaS.PaaS.SaaS作为云计算三种服务模式,下面会着重介绍他们的定义.作用.功能.对应产品以及他们之间的关系等. 一.定义: SaaS:Software as a Service,软件 ...
- LR12.53—第6课:运行负载测试
第6课:运行负载测试 当你运行一个负载测试,LoadRunner将生成系统上的负载.然后,您可以使用LoadRunner的监控器和图形负载下,观察系统的性能. 在这一课中,你将涵盖以下主题: 一目了然 ...
- LR12.53—第5课:创建负载测试场景
在前面的课程中,您使用VuGen将验证您的Vuser脚本.在本课中,您将评估多个Vuser的负载下您的系统.您将模拟十个旅行代理同时使用航班预订系统的行动,以及这些用户的负载下观察系统的行为.设计和运 ...
- LR12.53—第4课:准备Vuser脚本进行负载测试
第4课:准备Vuser脚本进行负载测试 在前面的课程中,您确认您的Vuser脚本的回放产生了真正的用户的精确仿真.下一个步骤是准备的脚本负载测试.如何将多用户系统同时工作的工作?会拖慢系统到不可接受的 ...
- 海量用户-高并发SAAS产品测试上线流程
海量用户高并发SAAS产品测试上线流程 SAAS产品测试上线流程-以Web插件产品为例子 1 概述 在互联网产品中,IT公司之间更加注重产品功能之间的协作,SAAS形态的产品扮演着越来越重要的作用 ...
随机推荐
- Android Studio的简单设置:
4.关闭更新: 如下图所示: 6.添加api文档悬浮提示: AS默认是没有api文档悬浮提示的,只有按住[Ctrl+Q]太会出现提示.如果要添加api的自动悬浮提示,设置如下: 上图中,在红框部分打钩 ...
- git 版本控制
用gitbash进入类似命令行的窗口 用命令 cd e:/learngit 进入该目录,然后在此目录下初始化$ git init, 于是该文件夹就成为了一个工作区,里面的.git文件就是版本库(rep ...
- java中final的理解
final修饰变量表示变量初始化后就不能再改变. 一.对于基础类型来说,用final修饰后其值不可以改变. 1. final int a; a = 5; 2.final int a = 5; 二.对于 ...
- Linux下压缩mp3文件
apt-get install lame lame -b 64 a.mp3 b.mp3 lame是压缩mp3的一个小工具 参数 -b 64 是输出文件的采样率64 a.mp3 是源文件 b.mp3 是 ...
- Codeforces Round #171 (Div. 2)
A. Point on Spiral 由于坐标\(.|x|.|y| \le 100\),所以可直接bfs计算. 若数据较大,需要找规律. B. Books 维护窗口\([l,r]\),使\(\sum_ ...
- oracle rman恢复数据库 方式恢复到异地数据库
目的:从某个环境中,获取相关文件,放到异地机器使用rman 恢复. 情况说明:XX系统使用的是oracle数据库,现已从服务器拉下来相关文件,依靠这些文件来早本地的测试机上恢复数据库,方便进行数据 ...
- JS 中通过对象关联实现『继承』
JS 中继承其实是种委托,而不是传统面向对象中的复制父类到子类,只是通过原型链将要做的事委托给父类. 下面介绍通过对象关联来实现『继承』的方法: Foo = { // 需要提供一个 init 方法来初 ...
- PowerBuilder 简介及应用 - 数据库系统原理
PowerBuilder 是一种企业级数据库前端应用和多层体系结构开发工具,友好的用户界面,功能强大的数据窗口,是一个集成开发环境. PB 的特点 采用面向对象的编程方法和事件驱动的工作原理. 支持跨 ...
- int.Parse()、int.TryParse()和Convert.ToInt32()的区别
1:int.Parse(一个参数) 此参数必须满足: 1 只能是字符串: 2 只能是 “整型” 字符串,即各种整型ToString()之后的形式,也不能为浮点型. 2:int.TryPa ...
- mongodb 对内嵌文档(数组) group分页查询,并设置查询条件
文档示例Account的其中一条记录: // collection: Account { "_id" : ObjectId("5843e38e535f3708f759b2 ...