外文翻译中文.docx
- 文档编号:30697647
- 上传时间:2023-08-19
- 格式:DOCX
- 页数:19
- 大小:859.88KB
外文翻译中文.docx
《外文翻译中文.docx》由会员分享,可在线阅读,更多相关《外文翻译中文.docx(19页珍藏版)》请在冰豆网上搜索。
外文翻译中文
对于实现web应用程序的.net技术
PReWebD的性能测试与评估的调查
M.Kalita1T.Bezboruah1,2
1电子产品及通讯科技,Gauhati大学,Guwahati781014,Assam,India
2多学科实验室,阿卜杜勒·萨拉姆国际理论物理中心,StradaCostiera,11,34151
Trieste,Italy
电子邮箱:
zbt@gauhati.ac.inzbt_gu@yahoo.co.in
摘要:
基于VisualStudio平台的原型研究Web应用程序开发以.NET作为框架,Internet信息服务器(IIS)(版本:
5.1)。
作为Web服务器和微软标准查询语言(SQL)服务器(版本:
2005)作为数据库服务器来研究用于开发Web应用程序的.NET技术的性能和评估。
作者称之为PReWebD。
性能是一个web应用程序的最重要的特征,为了评价性能,PReWebD的测试使用MercuryLoadRunner(版本8.0)进行验证,并研究一些其他属性类似的可扩展性,可靠性等性能取决于参数如Hits/s,响应时间,吞吐量,Error/s等,这些参数在PReWebD不同的应力水平下进行测试。
统计测试和分析做是为了确保稳定性,可靠性和应用程序的质量。
这里,作者在详细报告了架构,测试程序,性能测试的结果以及统计分析上PReWebD的记录的数据的结果。
1介绍
Web应用程序和Web服务的爆炸式增长已经改变了目前交换信息的方式,不论政府,企业还是教育和研究机构。
生产力和运营效率已经提高到歧管复杂,但简单的web应用程序.面对这样的发展,开发者一方的责任是无限的。
这些应用程序不仅需要提供易于使用的功能,还必须能够处理大量的并发用户。
在这种情况下,大多数企业都通过网络来进行的。
因此,测试web应用程序是非常重要和关键的。
在软件开发生命周期中,测试是其中一个最重要的特点,可以说是最难理解的部分。
在软件系统中存在的有关的信息因素缺陷可以是以下各项:
(i)该用户执行未经测试的代码,(ii)该语句的顺序在测试过程中发生了变化,(iii)该用户施加的非法输入(iv)该用户的操作环境可能出现故障。
它是测试并使得应用值得访问的软件测试人员。
执行测试时,测试员必须熟悉该系统中的输入和它们结合的方式,并且该系统的操作环境[1]。
在一般情况下,测试是分以下四个阶段进行:
(1)建模系统的环境,
(2)选择测试场景,(3)运行和评估测试场景和(4)分析测试结果。
随着网络用户数量的迅猛增长,检查和测量应用程序的可靠性和稳定性是非常重要的。
一个很好的候选人,统计检验是有效的网络质量保证。
这种技术需要的大量的数据集,用来描述应用程序的各种参数的集合[2]。
鉴于上述,我们设计,开发,实施和测试一个Web应用程序,与信息学研究实验室,电子部和通信技术,高哈蒂大学,印度阿萨姆邦等一起合作。
该应用程序已经过测试,10,20,30,40,50,75,100和125个虚拟用户和性能测试的结果;统计分析和细节上的结果在这里给出。
2软件测试
软件测试是一个用来评估系统的效率的过程。
在软件开发中,测试是用在整体过程中的关键检查点的,以确定是否得到满足或达到目标。
当一个Web应用程序的设计完成,编码如下的代码,然后在该单元或模块级别由程序员进行测试。
在早期或后期阶段,该服务也可用于可用性测试。
在系统级,开发商或独立审核可能会受到一个或多个性能测试服务[3]。
Web应用程序的服务质量(QoS)是衡量响应时间,吞吐量和可用性等方面来决定的。
其中一个衡量应用程序的服务质量的最佳方法是进行负载测试。
性能测试被执行时,从一个角度来看,以确定系统的一些方面中如何快速根据特定工作负载进行测试。
它可以用来验证和核实可扩展性,可靠性和资源的使用情况。
它也可以验证该系统是否满足性能标准。
它可以比较两个系统来找出哪一个性能更好。
它也可以诊断软件,最能促进该系统的性能差的部分的改进[4]。
验证代码的正确性后,负载和压力测试是衡量重负载下的性能和应用程序的可扩展性的方法。
分析在该阶段获得的结果后,能够确定数据库层中的瓶颈,内存泄漏或性能问题。
负载测试是为了对系统的整体有清楚的了解。
它模型用户在现实世界的行为。
负载生成器模仿浏览器的行为,每个模拟浏览器被称为虚拟用户.只有当虚拟用户的行为具有类似于实际用户的特征时,负载测试才是有效的[5]。
在负载测试系统通过合理的荷载作用下计算虚拟用户的数目,确定系统的性能,主要体现在响应时间方面。
这种情况下,在该系统可以有效处理的范围内,负载从零变化到最大。
压力测试的执行,以确定一个给定的系统的稳定性。
它涉及到超出正常经营能力的测试。
压力测试是揭示内存泄漏的测试,当一个应用程序被载入超越了性能统计数据[6-8]所确定的限制,则会出现带宽限制,交换的问题,资源锁定,硬件限制和同步问题。
不同的测试工具被用来模拟场景,并做出评价,实际上是在部署之前的应用程序的性能参数。
他们通过模拟大量的虚拟用户在系统上创建压力。
然后它们以图的形式收集系统的性能参数,稍后用于分析应用程序的行为。
这些工具使应用程序性能全面的分析,并支持所有主要的企业平台。
在PReWebD的测试是为了确定响应能力,吞吐量,可靠性和.NET技术与Internet信息服务器(IIS)给定工作负载下的组合的可扩展性。
执行的操作是插入,更新,删除和搜索。
该测试是基于在这个意义上对象,该对象在整个应用程序被分成不同的对象[9]。
3PReWebD的多层结构
PReWebD的体系结构如图1所示,它是一个三层体系结构。
这种架构具有分离,独立和可重用[10]的优点。
这种体系结构的层分为表示层(PL),业务层(BL)和数据层(DL)。
PL包含用户界面和演示代码.因为.NET平台用于设计,所以它包括扩展(ASPX)页,用户控件,服务器控件等活动服务器页面的服务器控件,还包括标签,文本框,按钮,下拉框,文件上传,GridView控件,FormView控件等。
验证控件包括的RequiredFieldValidator,RangeValidator控件andRegularExpressionValidator。
BL是体系结构中的最重要的层。
这层被分为两个子层进一步:
(1)业务逻辑层(BLL)和
(2)中的数据访问层(DAL)。
BLL中保持有quired业务逻辑功能,验证和相关的数据的计算。
DAL层是负责访问数据,并将其转发给BLL。
BL作为在PL和DL之间的调停人。
在ASP.NET中的SqlClient充当DAL。
DL管理物理存储和数据.它检索从BL接收到的数据,并将其发送到数据库中,反之亦然。
该数据库从数据库中查询已写入的数据或执行类似的插入,更新和删除操作。
在我们目前的工作中,标准查询语言(SQL)ServerExpress的2005充当了DL。
图1PReWebD的层次结构
4PReWebD的设计方面
Web应用程序的设计从本质上讲是它的外观和感觉[11]。
我们已考虑到所有的网络元素,例如信息的受众,宗旨和目标声明,域名信息,网络规范,并结合他们生产的安排实施PReWebD。
该申请已通过,以电子和通信技术的高哈蒂大学作为样本数据部(ECT)为轮廓开发。
创建,读取,更新,删除操作执行会生成响应。
它数据的创建,检索,更新和删除都按照用户需求来运作。
有两种类型的帐户可以访问PReWebD.“用户账户执行”,注册用户也有机会获得PReWebD有限的权限。
另一种是“行政用户”,它是系统管理员,有完全访问PReWebD的权限。
PReWebD的基本工作原理示于图2中所示的流程图中。
该流程图是不言自明的。
当用户打开该Web应用程序,主菜单将打开。
然后,用户可以点击设置在主菜单中的任何链接。
他们可以搜索的网站,也可以做一些交易。
用于搜索信息,任何用户都可以打开该网站并进行必要的搜索。
对于其他操作,例如,插入,修改或删除,用户将需要通过注册程序实现,这是由管理员监督的。
已登记的用户进行身份验证后可以访问执行数据库事务的页面。
用户可以在自己的会话结束时注销。
如果用户在Web应用程序特定时间段不进行任何交易,该会话将被自动关闭。
本系统设计的不同模块见图3
代替测试的应用程序在一个尝试中作为一个整体,应用程序被分成不同的模块。
模块化设计是细分使得系统成小原子的一种方法。
在PReWebD中插入,修改,删除,查找,登录,注销和注册等模块相互结合。
这些模块可以被再次组成像服务器控件和验证控件不同的对象。
由于PReWebD的性能依赖于合成的模块,合成模块的行为研究需要分开考虑。
图2PReWebD基本工作原理流程图
图3PReWebD结构
5PReWebD技术规范和测试
硬件和软件的开发以及测试环境PReWebD的技术规范是作为如下。
5.1硬件和软件配置
目前的工作的硬件和软件配置给出如下:
5.1.1硬件平台
PC:
IntelwPentiumwDualCPUE2200.
处理器速度:
at2.20GHz.
RAM:
1GB.
图3结构的PReWebD所需内存空间:
150GB.
5.1.2软件平台
网络服务器:
IIS5.1.
数据库服务器:
MicrosoftSQLServer2005.
操作系统:
WindowXPProfessionalServicePack2.
软件平台:
VisualStudio2005.
浏览器:
InternetExplorer6.1.
网络带宽:
128kbps.
5.2测试过程
MercuryLoadRunner被用来测试PReWebD。
它自动执行和负载测试工具,用于研究系统行为和性能,同时产生实际负荷[12]。
利用有限的硬件资源,LoadRunner将通过现实生活中用户负载的机制模拟的成百上千并发用户。
它有非常好的监听和分析接口,且报道都带有易于理解的图表[13,14]。
LoadRunner的8.1还增加ADO.NET的特点支持.在实验期间,应力水平逐渐变化,所以没能饱和服务器。
这能够了解服务器的能力。
每个HTTP请求通过SQLINSERT命令来插入到数据库表中的两个文本字段。
调用应用程序后,用户将采用了独特的用户名和密码登录到PReWebD。
成功登录后将验证用户身份进行交易。
现实生活中的值插入等多个领域的值可以被保存到数据库表中按“保存”按钮对应的文本。
用户想到的约12的时候在执行交易成立。
用于实验的运行时间被选择受到两个约束:
(i)该测试持续时间必须足够长,以准确评估,以支持目标请求速率服务器的能力和(ii)各试验的持续时间肩立为尽可能短为了测试许多要求,准确地识别每个服务器的峰值性能。
考虑到上述方面,平均稳态的30分钟内被固定为所有的实验。
的流程图,用于检测过程示于图4涉及的执行性能测试中的不同步骤包括:
1的测试计划的准备:
第一步是准备涉及一个测试计划。
我们设计各种测试用例,从用户的角度来看待性能测试。
测试用例包括应力水平的各项性能指标,用户数量,结构其中包括客户端PC,浏览器和网络带宽。
2创建测试环境:
第二步是建立一个测试环境。
测试环境包括所选择的客户端PC的操作系统,客户端PC的参加测试的人数等硬件和软件配置
3试验期间的设置:
第三步,设置为哪个压力测试将被执行的测试周期。
有三个阶段:
(一)在斜坡上升阶段被初始化系统,直到它到达一个稳定状态,(b)如测量时及(c)斜坡下降阶段,允许PReWebD降温稳态阶段。
4性能参数的值:
通过性能参数来测量应用程序的性能的重要指标。
我们的所有的参数都是不相关的。
这些参数也都重要,我们现在的工作都落在设置在此步骤中,例如响应时间,吞吐量,Hits/s,Error/s等。
5测试的执行:
设置参数后的性能测试是通过对MercuryLoadRunner中部署应用程序执行的。
6试验结果分析:
测试响应确实是以图的形式,然后分析以评估PReWebD的性能。
图4测试程序流程图
5.3性能参数
系统从开发者和用户的角度分析性能。
用户更关心的是没有拒绝的客户端具有响应速度快的连接。
在另一方面,在服务器端,开发人员关注的是连接的高吞吐量和高可用性。
在其上的Web服务器的性能取决于的因素是:
(1)硬件和软件平台,
(2)操作系统,(3)服务器软件,(4)网络带宽及(5)服务器上的负载。
有三种模式可以用来分析应用程序的性能,即:
(i)该模拟中,(ii)该分析模型及(iii)在分析模型中现有系统的测量值,用于系统分析的一组算法,在仿真模型的计算机程序中生成并执行测试。
当它执行完成时,我们所需要的参数测量了现有系统的性能。
下面是测试程序中变化的三个主要参数。
它们是:
(一)虚拟用户数量而言,工作量强度的测量,这是压力水平(B)工作量混合,这些定义了哪些用户将会做每个会话及(c)用户行为参数,即思考时间。
5.5测试回应
我们有监控的负载和压力测试的参数主要包括:
(i)的响应时间在第二个方面,
(二)以每秒字节的吞吐量,(III)每秒命中,(四)数允许交易成功的虚拟用户,(v)该交易概要包括完成和被遗弃的会话数,(六)错误报告等。
5.6实验及其结果
性能测试时我们为PReWebD分别准备了10,20,30,40,50,75,100,125个虚拟用户。
所有性能参数均在128kbps的测量带宽。
我们观察到由LoadRunner设置的各种参数。
在观察响应参数时,可以看出,最多40个用户的应用程序能够顺利运行。
所有性能测试传导与提升产能计划与一个虚拟用户运行,每30秒的稳态测量周期设置为30分钟的时间然后它们被淘汰在同一时间完成的稳态周期[15]。
为用户思考时间的延迟是包括模拟真实用户的行为。
插入和删除操作结果在表1中给出。
被测试的参数分别如图5-7所示。
图5显示了75个虚拟用户的Hits/s对用户数的变化。
在这种情况下69个用户被允许执行该交易,其余都失败.很明显Hits/s随着虚拟用户的数量的提高而提高。
它最大时大约63个虚拟用户,然后将参数逐渐减小。
所记录的平均Hits/s为12,241,最大的19,539。
图6示出了75的虚拟用户的最大吞吐量对用户数量的变化。
很明显吞吐量随着虚拟用户的数量的提高而提高。
大约63个虚拟用户时吞吐量变得最大,然后将参数逐渐减小。
所记录的平均吞吐量为328940716,最大为607717333bytes/s。
图7显示了75个虚拟用户的反应时间对用户数量的变化。
很明显反应时间随着虚拟用户的数量的提高而提高,之后它达到稳定状态,然后随着虚拟用户的增加提升到最高水平。
所记录的平均响应时间为45.86s,最大的57801S。
图575个虚拟用户的用户数量对Hits/s变化
图675个虚拟用户的用户数量对吞吐量的变化
图675个虚拟用户的用户数量对反应时间的变化
表1插入和删除操作的结果
6应用统计分析
十个用户在稳态运行5分钟的统计分析如下。
我们采取的样本数为30。
6.1对于PReWebD统计分析
所观察到的响应时间范围介于47.244和60425s两者之间,吞吐量范围于58633和68755bytes/s之间,Hits/s的读取范围在小值1,395和最大值2.06之间。
根据他们的范围,记录30个例子被分为分为六,七类。
类的宽度和范围,响应时间,Hits/s,吞吐量表2-4分别给出。
6.2响应时间的分布,hits/sand,吞吐量
我们的目标是挖掘确定性响应时间的分布,Hits/s和吞吐量。
一个判定的方法是绘制所观察到的参数的直方图,分别如图8-10示。
由直方图知该应用分布是正态分布。
然而直方图有一大缺点,它取决于所使用的块大小;有可能得出完全不同的结论
一个更好的方法把记录数据的观察数量绘制在一个分位数图里[16]。
如果观察数据的分布是正常的,剧情是接近线性的。
最终产生曲线分别示于图11-13。
根据观察到的数据,响应时间,吞吐量和Hits/s近似是正态分布的。
表2响应时间的类宽和频率
表3hits/s的类宽和频率
表4吞吐量的类宽和频率
图8响应时间直方图
图9hits/s直方图
图10吞吐量直方图
正态性检验可以以图形方式进行验证,通过使用正态概率图。
如果数据样本来自正态分布,响应时间,吞吐量和hits/s表现为线性的。
正态概率图如图14-16。
数据遵循一条直线,这并预测分布是正常的。
6.3,响应时间、hits/s和吞吐量的置信区间
在响应时间的平均值为的95%置信区间内,估计Hits/s的吞吐量。
总体均值可表示为
[17,18]
其中
是平均值,
是临界值,S是标准误差,N是简单容量,
错误范围。
考虑到通过负载测试获得的参数不同的值,我们评估的临界值,平均值和错误的范围也列于表5。
人口平均值m的计算方法是
(1)
从表5中,我们得出以下结论具有95%的可信度:
这意味着响应时间介于53.9337
1.455之间,即52.478和55.389。
平均Hits/s的读取在1.686和1.785之间,平均吞吐量介于62289773和63898226两者之间。
6.4影响响应时间的因素
为了验证Hits/s,吞吐量和响应时间之间是否存在的关系,我们假设这样的情况,如果存在,是一个线性的。
响应时间假定为标准变量。
Hits/s和吞吐量被认为是预测值变量。
散点图对Hits/s和吞吐量以及响应时间关系如图17和18
这两个散点图与他们各自的回归线表现为线性关系。
Hits/s的数值越大,响应时间越大,但是幅度非常小。
以类似的方式,吞吐量越大,响应时间越长。
要检查吞吐量在Hits/s和响应时间的共同作用下的变化,我们考虑一个多元线性回归测试的情况。
回归测试拥有在95%的置信水平。
我们假设零假设(H0),它是:
响应时间不依赖于Hits/s和吞吐量。
替代假设(H1)为:
响应时间Hits/s和吞吐量的函数。
回归分析是在微软Excel进行的.方差分析显示F比为5.087,显著率为0.05。
这证明了响应时间,Hits/s和吞吐量之间线性关系存在。
根据测试,零假设被拒绝.这确实蕴涵方程有被95%正确的机会。
分析因此建议做我们的模型账户上的响应时间27.37%的变异。
因此我们推断日做了Hits/s和吞吐量对响应时间有一定的影响。
7整体性能结果和讨论
我们本次调查的目的是评估在VisualStudio中使用IIS作为Web服务器的.NET技术的整体性能和预测Hits/s吞吐量和响应时间的影响力。
所记录的数据进行分析预测,多达40个虚拟用户的应用程序显示理想的响应并且没有拒绝任何连接。
44.28s,是可以接受的平均响应时间。
由于我们增加放大的虚拟用户每次应用程序的页的错误,以及连接错误的数量增加。
对50个虚拟用户的平均响应时间为44762s,连接14%将被拒绝。
同样,对于75个虚拟用户的平均响应时间为45.86s,8%的连接将被拒绝。
对于100个虚拟用户的平均响应时间为49859s,35%拒绝连接。
最后的125个虚拟用户的平均响应时间为76646s,68%拒绝连接。
在较高数量的虚拟用户的连接拒绝可能是由于垃圾回收堆中不正确的释放内存引起的。
所以这种可能是由于降低的反应在服务器端由于增加的虚拟用户的数目。
响应时间,吞吐量和Hits/s的各种数字突然上升和下降,可能是由于没有释放或释放最近的服务器资源,包括内存为连续的请求。
这个结论需要在服务器端资源进行彻底的密切监测和分析。
这种情况的发生多与高数量的虚拟用户导致的服务器响应的减少有关。
直方图,分位数图和应用程序显示的线性度和常态证明大量的虚拟用户的应用程序的可靠性和可扩展性。
然而,在某些地块直方图存在向右或向左歪斜。
所以,正态概率图并不总是完美直线的形式离开它在末端。
这表明比正态分布有更长的尾部。
从统计分析,我们可以看到,Hits/s和吞吐量都会影响个人以及综合效应的响应时间。
单独地,Hits/s,吞吐量对响应时间的影响分别为18%和26.02%,他们一起的比重大约27.37%。
8结论
从上面的统计数据,我们可以得出结论,虚拟用户的增加,错误以及连接拒绝也会增加。
该系统几乎可以被近125个用户同时操作。
该系统在多达75个用户时任是稳定的,此时拥有8%的误差,这是可以容忍的。
随着压力水平的增加,应力水平的碰撞也会增加。
因此,随着服务器响应时间的不断增加,Hits/s和吞吐量减少。
虽然,本PReWebD符合工业标准,但是它必须彻底地测试和分析系统有深入的想法的妨碍应用的因素。
统计分析表明,响应时间的分布,Hits/sand量是正常的。
这证明了Web应用程序对大量的虚拟用户的可扩展性和可靠性。
同时还发现,Hits/sand对PReWebD的响应时间有一定影响,但它是很小的。
PReWebD多元回归测试表明,Hits/s和吞吐量对响应时间有27%的共同影响。
因此,我们可以得出结论,用上述技术规范考虑的用户中间数量,应用与实施.NET技术是可靠和稳定的。
表6给出PReWebD和PReWebN响应时间和吞吐量的比较,以及与Java技术[19]开发了一个Web应用程序之间的吞吐量的比较。
从表中可以得出结论,与PReWebN与Java技术相比,该PReWebD开发技术能提供更快的响应时间和更多的吞吐量[19]。
9将来的工作
作为我们今后工作的一部分,我们拟开展对于不同的Web应用程序技术实现详细的调查和实现。
10致谢
作者之一的TulshiBezboruah博士首先要感谢意大利的里雅斯特国际理论物理中心主任,在他此次访问到中心的过程中,根据ICTP的初级人员计划,提供了出色的计算设施。
这项工作是由印度大学教育资助委员会(UCG),官立部分支持。
作者非常感谢高哈蒂大学科技学院院长,电子与通信技术系主管,对工作的基础支持。
作者还要感谢教授物理系系主任(女士)K.Boruah教授;高哈蒂大学科学系统计布前部长HKBoruah教授,他在数据统计分析过程中提出的宝贵意见。
作者最后要感谢IET软件匿名审稿者提供的各种建设性意见和建议。
11参考文献
1Whittaker,J.A.:
‘Whatissoftwaretesting?
Andwhyisitsohard?
’,IEEESoftw.,2000,17,
(1),pp.70–79
2Kallepalli,C.,Tian,J.:
‘MeasuringandmodelingusageandreliabilityforstatisticalWebtesting’,IEEETrans.Softw.Eng.,2001,27,(11),pp.1023–1036
3
4http:
//en.wikipedia.org/wiki/Software_performance_testing
5Menasce′,D.A.:
‘Loadtestingofwebsites’,IEEEInternetComput.,2002,6,(4),pp.70–74
6
7http:
//en.wikipedia.org/wiki/Stress_testing
8http:
//www.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 外文 翻译 中文