WAS服务器负载测试软件导读
- 格式:doc
- 大小:469.00 KB
- 文档页数:7
Duwamish OnlineAaron Ching、Pedro Silva 和Allen WagnerMicrosoft Developer Network2001 年一月摘要:本文件探讨效能测试对于成功部署Web 应用程序的重要性,焦点集中于Microsoft Web Application Stress (WAS),这是用来测试Duwamish Online 应用程序效能的工具。
简介效能测试是成功部署Web 应用程序不可或缺的要素。
重要的是了解,当愈来愈多的使用者来参观Web 站台时,应用程序和Web 服务器farm 会如何处置。
为了仿真Web 应用程序的那种使用方式,您可能需要结合成千上百个实际用户在指定的周期内来存取Web 站台,或者使用可重现这种用户负载的测试工具。
许多Web 效能测试工具都可提供协助。
基本上,这些工具可让您使用最少个数的客户端计算机来仿真大量的虚拟使用者,同时请求Web 站台中预先定义的网页或URL (Uniform Resource Locators)。
每一位虚拟使用者都会在Web 浏览器和 Web 服务器之间模拟正确的通讯协议。
在此文件中,将焦点集中于下列一项工具:可免费使用的Microsoft® Web Application Stress (WAS) 工具。
您可由/technet/archive/itsolutions/intranet/downloads/webstres.mspx 免费下载WAS。
也可以从Microsoft Windows®2000 Resource Kit CD (WAS 版本288) 取得WAS。
WAS 的优点首先,我们将讨论使用WAS 来测试应用程序效能的一些优点。
它是免费的如先前所提,Microsoft 的Web Application Stress 工具与一些Web 效能测试工具不同,您可从WAS Web 站台免费下载这个工具。
利用Web Application StressTool(WAS)做性能测试(1)Duwamish OnlineAaron Ching, Pedro Silva, and Allen WagnerMicrosoft Developer NetworkJanuary 2001摘要:这篇文章讨论了性能测试对于成功发布一个网络应用的重要性,集中讨论了微软的Web Application Stress (WAS)这个用于测试Duwamish Online的性能的工具。
内容介绍使用WAS的好处WAS的缺陷安装WAS创建测试脚本配置测试脚本运行测试脚本结论:最好的习惯介绍性能测试是成功发布一个网络应用的关键因素。
当越来越多的用户访问你的站点时,清楚地知道你的应用程序和你的服务器群是怎样工作的就显得非常重要了。
为了给你的网络应用程序模拟出那种类型的使用,你可以协同几百甚至上千的真实用户在一段设计好的时间段里访问你的站点,你也可以只与一个能复制这么多用户负载的测试工具一起工作,许多性能测试工具可以帮你的忙。
基本上,这些工具都允许你以有限的客户端模拟大量的虚拟用户,并发地访问预先确定的页面或网站的URLs (Uniform Resource Locators)。
每一个虚拟用户都能精确地仿效在真实浏览器和网站服务器之间进行通讯协议。
在这篇文章里,我们将专注于其中一个这样的工具:Microsoft® Web Application Stress (WAS)工具。
你可以在微软的Microsoft Windows® 2000 Resource Kit CD (WAS version 288)里面找到这个工具。
注意WAS不能再从Microsoft的网站下载了,VisualStudio .NET 的企业架构和企业开发版本都包含一个新的网络压力测试工具,这个工具叫做Application Center Test,是受Microsoft技术支持的工具。
运用WAST对Web应用程序进行压力测试邓先炳(岳阳职业技术学院计算机系,湖南岳阳414000)摘要:压力测试是Web应用开发周期中的一个重要步骤。
使用WAST工具对Web进行压力测试,能检测出服务器配置潜在问题,以及Web应用程序的潜在缺陷。
同时,可以获得重要的性能数据,为代码优化、硬件配置、系统软件升级提供必要的依据。
关键词:WAST;Web应用程序;压力测试中图分类号:TP311.53文献标志码:A文章编号:1672-738X(2008)03-0072-03收稿日期:2008-04-16作者简介:邓先炳(1962-),男,湖南岳阳人,岳阳职业技术学院副教授。
研究方向:计算机网络技术。
1引言由于我们无法了解单位时间内Web程序访问和运行的速度,互联网Web应用用户在开发设计的时候需要格外谨慎。
程序设计完成以后,针对程序进行严格甚至是苛刻的测试,以确定程序在复杂的网络环境和服务器高压负荷下保持正常和相对稳定的效率,显得尤为重要。
该测试目的有二:其一,通过了解Web应用于现实的网络环境中是否可以正确而安全的处理各种用户提交的不确定请求,从而检验程序的健壮性;另一目的是通过对服务器故意提供足够多的请求,观察程序的反应能力。
笔者建议,用于商业应用的Web应用程序,最好在正式提交客户之前进行比较完备的压力测试,并且根据测试及时优化程序或者合理配置服务器硬件,以确保网站在用户量急剧增加的情况下正常运行。
2wast介绍WAST(MicrosoftWebApplicationStressTool)是一套由微软网站测试人员开发、专门用来进行实际网站压力的测试工具。
通过使用这套功能强大的压力测试工具,我们可以在网站实际应用之前,使用少量的Client端计算机仿真大量用户测试网站服务可能造成的影响,以找出系统潜在的问题,对系统进行调整合和优化。
WAST具有以下主要特点:1)数种不同的方式建立测试指令:手动、录制浏览器操作步骤、直接录入IIS的记录文件、录入网站的内容及录入其它测试程序的指令等方式;2)支持多种客户端接口:标准的网站应用程序C++的客户端;ActiveServerPage客户端;WebApplicationStress对象模型建立自定接口;3)支持使用动态的cookie仿真定制网站实际运作场景及对话(session);4)通过集中式的MicrosoftWebApplicationStress管理员,可以使用任意数目的客户端计算机同时进行测式的工作;5)具有Bandwidththrottling(带宽遏流)的功能,以仿真用户身份使用调制解调器上线的效果;6)提供汇总后的测试报告及丰富的性能测试资料;7)使用Pagegroup的方式来控制文件组及测试指令的执行程序;8)自定指令延迟,以更接近真实环境的方式进行测试。
利用现代的设计技术和正式的技术复审可以减少代码中存在的初始错误,但是错误总是存在的,如果开发者找不到错误,那么,客户就会找到它们。
越来越多的软件组织认识到软件测试是软件质量保证的重要元素之一,很多软件开发组织将30%—40%甚至更多的项目资源用在测试上,软件测试技术和软件测试策略受到了高度的重视和广泛的应用。
本文不想就软件测试技术和软件测试策略作深入的理论分析,而是列举一个在软件系统测试阶段进行的压力测试实例,希望能通过这个实例与从事软件测试相关工作的朋友进行交流。
首先介绍一下实例中软件的项目背景,该软件是一个典型的三层C/S架构的MIS系统(客户端/应用服务器/数据库管),中间层是业务逻辑层,应用服务器处理所有的业务逻辑,但应用服务器本身不提供负载均衡的能力,而是利用开发工具提供的ORB(对象请求代理)软件保证多个应用服务器间的负载均衡。
本次测试的目的是:进行单个应用服务器的压力测试,找出单个应用服务器能够支持的最大客户端数。
测试压力估算的依据是:假定在实际环中,用户只启用一个应用服务器进行所有的业务处理。
方法是:按照正常业务压力估算值的1~10倍进行测试,考察应用服务器的运行情况。
压力测试的详细计划如下:压力测试计划1、测试计划名称河北省公安交通管理信息系统压力测试计划。
2、测试内容2.1背景本次测试中的压力测试是指模拟实际应用的软硬件环境及用户使用过程的系统负荷,长时间运行测试软件来测试被测系统的可靠性,同时还要测试被测系统的响应时间。
用户的实际使用环境:◇由两台IBM XSeries250 PC Server组成的Microsoft Cluster;◇数据库管理系统采用Oracle8.1.6;◇应用服务器程序和数据库管理系统同时运行在Microsoft Cluster上。
◇有200个用户使用客户端软件进行业务处理,每年通过软件进行处理的总业务量为:150万笔业务/年。
2.2测试项应用服务器的压力测试;2.3不被测试的特性◇系统的客户端应用程序的内部功能;◇数据库中的数据量对程序性能的影响。
Web Application Stress Tool(WAS,Web应用负载测试工具)详细说明/view/cc84fb84b9d528ea81c779ca.html 百度文库:lindazhao1234 pswd:linda_123你的Web服务器能够支持多少个并发用户的访问呢?你遇到过服务器遭受过DD OS的攻击而瘫痪吗?在这里给大家介绍微软网站测试人员开发的著名网站压力测试软件,Microsoft的Web Application Stress Tool(WAS,Web应用负载测试工具),而且还是免费的哦。
其下载地址:/download/a/8/2/a82e7ba7-c772-4ec4-b186-2cf147f42 c11/setup.exeWAS是一款网站性能测试评估软件。
它通过模拟大量并发用户同时访问服务器,以获取服务器的承受能力。
像这种软件是把“双刃剑”,就看你用在哪一方面啦。
如果没用好就会给你的服务器造成一定的损失,用好了可以及时的发现你的服务器能承受多大压力负载。
以便及时的采取相应的措施防范。
要对网站进行负载测试首先需要创建WAS脚本来模拟用户访问等活动。
创建脚本的方法:通过记录浏览器的活动;通过导入IIS日志;通过把WAS指向Web网站的内容;或者手工制作。
这里我用是通过记录浏览器事件生成的脚本的一部分,一:测试前的准备1.在测试前清空IE浏览器其它网站的缓存和Cookies等临时文件。
二:测试脚本制作1.打开WAS,点击Record2.勾选要记录的活动3.点击Finish4.这时自动弹出一个浏览器新窗口,即开始记录你的浏览的内容。
这时开始访问你要测试的网页。
5.在你访问你的服务器时,WAS都记录了这些活动,访问完成后点击Stop Recor ding结束记录。
6.这时在脚本页可以看到收集到的脚本,在Server栏输入服务器的IP地址。
7.删除延迟小的元素world of warcraft gold8.可以用Ctrl键同时选中多个,然后点击工具栏的删除按钮删除9.点击Settings,在这里可以设置例如发起的连接数,热身时间,带宽限制,以及测试要运行多长时间等参数。
1系统性能测试WAS使用系统性能测试是对一个系统的性能进行评估和分析的过程。
在进行系统性能测试时,主要使用的工具之一是WAS(WebSphere Application Server),它是一个基于JAVA的应用服务器,能够为企业提供全面的应用程序开发、集成和运行环境。
下面将介绍如何使用WAS进行系统性能测试的步骤和注意事项。
首先,在进行系统性能测试之前,需要明确测试的目标和指标。
例如,可以测试系统的响应时间、吞吐量、并发用户数量等性能指标。
接下来,我们可以使用WAS提供的一些性能测试工具,例如Rational Performance Tester(RPT)和Apache JMeter等,来模拟真实的用户行为和流量,从而测试系统在不同负载下的性能表现。
这些工具通常提供了多样化的性能指标和图表,可以帮助我们更好地分析系统的性能。
在使用这些性能测试工具时,需要创建一个测试计划,并设置相应的测试场景和参数。
测试场景可以包括模拟多个并发用户访问系统的不同功能,并设置相应的用户行为和流量。
参数设置可以包括设置系统的响应时间目标、并发用户数量、测试持续时间等。
在进行测试之前,需要清理系统的缓存和数据,并确保系统处于正常的状态。
可以通过重启系统和数据库,清理缓存文件等方式来达到这个目的。
接下来,可以开始运行性能测试。
在测试过程中,需要密切关注系统的性能指标和日志信息,例如CPU使用率、内存使用率、数据库响应时间等。
可以使用性能测试工具提供的图表和报告来分析系统在不同负载下的性能表现和瓶颈点。
在测试完成后,需要对测试结果进行分析和总结。
可以根据测试结果,找出系统在不同负载下的性能瓶颈,并针对这些问题进行性能优化。
例如,可以对系统的代码进行调优、增加硬件资源、优化数据库查询语句等措施,从而提升系统的性能和可用性。
在进行系统性能测试时,还需要注意以下几点:1.选择合适的测试环境:测试环境应尽可能接近生产环境,包括硬件配置、网络环境和数据量等。
WAS中间件服务器介绍WAS中间件服务器介绍1、概述WAS(WebSphere Application Server)是IBM公司开发的一种中间件服务器,用于提供企业级应用程序的运行环境和基础设施。
它可以在多种操作系统上运行,并支持多种编程语言和开发框架。
本文将详细介绍WAS中间件服务器的各个方面。
2、功能特性2·1 应用程序部署WAS提供了强大的应用程序部署功能,支持将应用程序打包成可部署的文件,然后在服务器上进行安装和配置。
它还提供了自动化的部署工具,可以简化应用程序的发布和更新过程。
2·2 事务管理WAS支持分布式事务处理,可以保证多个相关操作的一致性和原子性。
它提供了事务管理器和事务日志功能,确保在发生故障或异常情况下数据的完整性。
2·3 高可用性和负载均衡WAS具备高可用性和负载均衡的能力,可以通过多台服务器实现应用程序的冗余部署和负载分担。
它提供了故障恢复和故障转移的功能,保证应用程序的持续可用性。
2·4 安全性和认证授权WAS提供了丰富的安全功能,包括身份认证、访问控制和数据加密等。
它支持多种身份认证方式,如基于用户名密码的认证、证书认证和单点登录。
同时,它还提供了细粒度的授权机制,可以对用户进行精确的权限控制。
2·5 监控和性能调优WAS内置了监控和性能调优工具,可以实时监测应用程序的运行状态和性能指标。
通过这些工具,可以及时发现并解决潜在的性能瓶颈,提升应用程序的性能和响应速度。
3、部署架构3·1 单节点部署单节点部署是将WAS安装在单台服务器上,适用于小型应用程序或开发测试环境。
在此架构下,WAS担任应用程序的运行和管理角色。
3·2 多节点部署多节点部署是将WAS安装在多台服务器上,通过集群技术实现应用程序的冗余和负载均衡。
在此架构下,WAS集群中的各个节点相互协作,共同提供应用程序的服务。
4、集成与扩展WAS支持与其他中间件和系统的集成,可以与数据库、消息队列、企业服务总线等进行无缝连接。
WAS服务器负载测试软件导读发布: 2008-2-02 17:14 | 作者: 不详 | 来源: 51CMM | 查看: 591次 | 进入软件测试论坛讨论你的Web服务器和应用到底能够支持多少并发用户访问?在出现大量并发请求的情况下,软件会出现问题吗?这些问题靠通常的测试手段是无法解答的。
本文介绍了Microsoft为这个目的而提供的免费工具WAS及其用法。
另外,本文介绍了一种Web应用的性能优化方法,并利用WAS测试了它的性能改善程度。
原文出处:/articles/20000420.htm编译如下:随着服务器端处理任务的日益复杂以及网站访问量的迅速增长,服务器性能的优化也成了非常迫切的任务。
在优化之前,最好能够测试一下不同条件下服务器的性能表现。
找出性能瓶颈所在是设计性能改善方案之前的一个至关紧要的步骤。
本文介绍Microsoft的Web Application Stress Tool(WAS,Web应用负载测试工具)在Web服务器性能测试中的应用(注:Stress基本含义为“重压;压力”等,本文称之为“负载”)。
另外,我们还将通过WAS评估一种相对简单的网站性能改善方法,这种方法的基本思想是在服务器上生成静态的HTML页面、避免过多的数据库调用。
负载测试是任何Web应用的开发周期中一个重要的步骤。
如果你在构造一个为大量用户服务的应用,搞清楚你的产品配置能够承受多大的负载非常重要。
如果你在构造一个小型的Intranet网站,测试能够暴露出最终会导致服务器崩溃的内存漏洞以及竞争情况。
无论是哪种情形,花些时间对应用进行负载测试可以获得重要的基准性能数据,为未来的代码优化、硬件配置以及系统软件升级带来方便。
即使经费有限的开发组织也可以对它们的网站进行负载测试,因为Microsoft的WAS 是可以免费下载的。
WAS要求Windows NT 4.0 SP4或者更高,或者Windows 2000。
为了对网站进行负载测试,WAS 可以通过一台或者多台客户机模拟大量用户的活动。
WAS支持身份验证、加密和Cookies,也能够模拟各种浏览器类型和Modem速度,它的功能和性能可以与数万美元的产品相媲美。
如果你对WAS和Microsoft的另外一个测试工具Web Capacity Analysis Tool (WCAT)之间的差别感兴趣,可以访问Microsoft Web工具的比较页面。
要对网站进行负载测试首先必须创建WAS脚本模拟用户活动。
我们可以用下面四种方法之一创建脚本:通过记录浏览器的活动;通过导入IIS日志;通过把WAS指向Web网站的内容;或者手工制作。
图1所显示的是通过记录浏览器事件生成的脚本的一部分,网站是Microsoft的Duwamish Book Store。
Duwamish是Microsoft开发的电子商务Web应用示例,从Duwamish网站的“Phase 4”链接可以下载这个软件包。
下载包中包含了它自己的WAS测试脚本。
【图1】制作WAS脚本是相当简单的,不过要制作出模拟真实用户活动的脚本有点儿复杂。
如果你已经有一个运行的Web网站,可以使用Web服务器的日志来确定Web网站上的用户点击分布。
如果你的应用还没有开始运行,那么只好根据经验作一些猜测了。
图1这个脚本中我们假定有30个会员在浏览书店,同时又有一个会员正在购买。
要模拟两者混合而成的行为,首先必须创建页面组并在脚本的Page Group分枝确定点击分布情况。
在Page Group分枝中我们可以增加、修改或删除页面组,也可以为各个组修改流量的分布。
图2显示了grp_browse和grp_buy这两个页面组以及30比1的流量分布。
【图2】创建了页面组之后,我们就可以在主脚本视图中赋予各个请求不同的页面组,如图3所示。
为每个请求指定页面组相当于告诉WAS如何分布流量。
记住在本例中对grp_buy组页面的请求约占总数的3%,而对grp_browse 组页面的请求约占97%。
【图3】如果需要在查询字符串中传递“名字-值”对,可以用WAS的查询字符串编辑器来定义各个变量的所有可能的值。
在输入变量值后,既可以要求WAS顺序地使用变量的各个值,也可以要求WAS在请求时随机选择变量值。
这在一定程度上增加了脚本所模拟行为的真实性,也可以帮助避免缓冲对测试结果的影响准备好测试脚本之后,我们可以调整测试配置以便观察不同条件下的应用性能。
图4是WAS的设置界面。
【图4】Stress Level和Stress multiplier这二个项决定了访问服务器的并发连接的数量。
Microsoft建议不要选择超过100的Stress Level值。
如果要模拟的并发连接数量超过100个,可以调整Stress multiplier或使用多个客户机。
在负载测试期间WAS将通过DCOM与其他客户机协调。
有关在测试中使用多个客户机的更多信息,参见/kb/hkb13.htm。
如果网站提供个性化服务,要进行身份验证或使用Cookies,我们还要为WAS提供一个用户目录。
WAS中的用户存储了发送给服务器的密码以及服务器发送给客户端的Cookies。
增加用户数量并不增加Web服务器的负载。
必须提供足够数量的用户以满足并发连接的要求(Stesss Level乘以Stress Multiplier)。
有关线程、用户、Cookies 相互作用的更多信息请参见/Threads/WASThreads.htm。
WAS允许设置warmup(热身)时间,一般可以设置为1分钟。
在warmup期间WAS开始执行脚本,但不收集统计数据。
warmup时间给MTS、数据库以及磁盘缓冲等一个机会来做准备工作。
如果在warmup时间内收集统计数据,这些操作的开销将影响性能测试结果。
设置页面提供的另外一个有用的功能是限制带宽(throttle bandwidth)。
带宽限制功能能够为测试模拟出Modem(14.k K,28.8 K,56 K)、ISDN(64 K,128 K)以及T1(1.54 M)的速度。
使用带宽限制功能可以精确地预测出客户通过拨号网络或其他外部连接访问Web服务器所感受的性能。
要理解这些不同的设置对应用的影响,有必要了解如何使用WAS收集性能数据。
使用WAS,从远程Windows NT和Windows 2000机器获取和分析性能计数器(Performance Counter)是很方便的。
加入计数器要用到图5所示的Perf Counters分枝。
【图5】在测试中选择哪些计数器显然跟测试目的有关。
虽然下面这个清单不可能精确地隔离出性能瓶颈所在,但对一般的Web服务器性能测试来说却是一个好的开始。
· 处理器:CPU使用百分比(% CPU Utilization)· 线程:每秒的上下文切换次数(Context Switches Per Second (Total))· ASP:每秒请求数量(Requests Per Second)· ASP:请求执行时间(Request Execution Time)· ASP:请求等待时间(Request Wait Time)· ASP:置入队列的请求数量(Requests Queued)CPU使用百分比反映了处理器开销。
CPU使用百分比持续地超过75%是性能瓶颈在于处理器的一个明显的迹象。
每秒上下文切换次数指示了处理器的工作效率。
如果处理器陷于每秒数千次的上下文切换,说明它忙于切换线程而不是处理ASP脚本。
每秒的ASP请求数量、执行时间以及等待时间在各种测试情形下都是非常重要的监测项目。
每秒的请求数量告诉我们每秒内服务器成功处理的ASP请求数量。
执行时间和等待时间之和显示了反应时间,这是服务器用处理好的页面作应答所需要的时间。
我们可以绘出随着测试中并发用户数量的增加每秒请求数量和反应时间的变化图。
增加并发用户数量时每秒请求数量也会增加。
然而,我们最终会达到这样一个点,此时并发用户数量开始“压倒”服务器。
如果继续增加并发用户数量,每秒请求数量开始下降,而反应时间则会增加。
要搞清楚硬件和软件的能力,找出这个并发用户数量开始“压倒”服务器的临界点非常重要。
置入队列的ASP请求数量也是一个重要的指标。
如果在测试中这个数量有波动,某个COM对象所接收到的请求数量超过了它的处理能力。
这可能是因为在应用的中间层使用了一个低效率的组件,或者在ASP会话对象中存储了一个单线程的单元组件。
运行WAS的客户机CPU使用率也有必要监视。
如果这些机器上的CPU使用率持续地超过75%,说明客户机没有足够的资源来正确地运行测试,此时应该认为测试结果不可信。
在这种情况下,测试客户机的数量必须增加,或者减小测试的Stress Level。
每次测试运行结束后WAS会生成详细的报表,即使测试被提前停止也一样。
WAS报表可以从View菜单选择Reports 查看。
下面介绍一下报表中几个重要的部分。
如果这是一个新创建的测试脚本,你应该检查一下报表的Result Codes部分。
这部分内容包含了请求结果代码、说明以及服务器返回的结果代码的数量。
如果这里出现了404代码(页面没有找到),说明在脚本中有错误的页面请求。
页面摘要部分提供了页面的名字,接收到第一个字节的平均时间(TTFB),接收到最后一个字节的平均时间(TTLB),以及测试脚本中各个页面的命中次数。
TTFB和TTLB这两个值对于计算客户端所看到的服务器性能具有重要意义。
TTFB反映了从发出页面请求到接收到应答数据第一个字节的时间总和(以毫秒计),TTLB包含了TTFB,它是客户机接收到页面最后一个字节所需要的累计时间。
报表中还包含了所有性能计数器的信息。
这些数据显示了运行时各个项目的测量值,同时还提供了最大值、最小值、平均值等。
报表实际提供的信息远远超过了我们这里能够介绍的内容。
为了给你一个有关表所提供信息种类的印象,图6摘录了一个报表实例。
【图6】随着Internet应用的日益广泛,用户的要求和期望也在不断地发展。
今天的客户期待个性化的可定制的方案,期待这些方案不仅简单,而且快速、可靠、成本低廉。
对于能够适应用户需求不断变动的可定制页面来说,静态HTML已经退出了舞台,比如内容根据客户请求变化的页面就是其中一例。
这一切都要求系统保存相关的数据,例如有关用户本身以及用户可能请求哪些信息的数据。
紧跟这些趋势的Web开发者已经开始提供可定制的Web网站。
象搜索数据之类的任务现在可以由服务器执行而无需客户干预。
然而,这些变革也导致了一个结果,这就是许多网站都在使用大量的未经优化的数据库调用,从而使得应用性能大打折扣。
我们可以使用以下几种方法来解决这些问题:1. 优化ASP代码。