vs2005 自带网站压力测试 (vsts)

news/2024/5/20 12:31:16/文章来源:https://blog.csdn.net/weixin_30696427/article/details/98563329

(转http://www.cnblogs.com/Ring1981/archive/2007/05/15/745533.html

VSTS提供了一个丰富、强大的工具平台,融合了软件开发领域的各个角色,涵盖软件开发生命周期的各个阶段,包括设计,开发,测试,管理,而这一整套构件的融会贯通,让它可以有效地改善软件开发过程中各个阶段的弊端,提高团队之间不同的角色的协调能力,提高工作效率。

本文就简单介绍一下如何利用VSTS给一个网站做压力测试。

1 建立一个测试项目,起名MyTest



2 建立一个Web Test



点击Web Test...
IE马上就会弹出一个窗口,这样录制脚本工作就可以开始了。

3 在IE里输入要测试的网站地址: 比如 http://localhost/WebSite/Default.aspx

4 对该网站做一些操作, 此时VSTS会纪录下你的这些操作,用以作为压力测试的场景。

5 录制脚本毕,点击 "STOP"

6 点击生成代码,可以看到刚才录制的类似如下的代码:

 

//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:2.0.50727.42
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

namespace MyTest
{
    
using System;
    
using System.Collections.Generic;
    
using System.Text;
    
using Microsoft.VisualStudio.TestTools.WebTesting;
    
using Microsoft.VisualStudio.TestTools.WebTesting.Rules;


    
public class WebTest1Coded : WebTest
    
{

        
public WebTest1Coded()
        
{
            
this.PreAuthenticate = true;
        }


        
public override IEnumerator<WebTestRequest> GetRequestEnumerator()
        
{
            WebTestRequest request1 
= new WebTestRequest("http://localhost/WebSite/Default.aspx");
            request1.ThinkTime 
= 1688;
            ExtractHiddenFields rule1 
= new ExtractHiddenFields();
            rule1.ContextParameterName 
= "1";
            request1.ExtractValues 
+= new EventHandler<ExtractionEventArgs>(rule1.Extract);
            yield 
return request1;

            WebTestRequest request2 
= new WebTestRequest("http://localhost/WebSite/Default.aspx");
            request2.ThinkTime 
= 2;
            request2.Method 
= "POST";
            FormPostHttpBody request2Body 
= new FormPostHttpBody();
            request2Body.FormPostParameters.Add(
"__VIEWSTATE"this.Context["$HIDDEN1.__VIEWSTATE"].ToString());
            request2Body.FormPostParameters.Add(
"Button1""Go to Test Page");
            request2Body.FormPostParameters.Add(
"__VIEWSTATEENCRYPTED"this.Context["$HIDDEN1.__VIEWSTATEENCRYPTED"].ToString());
            request2Body.FormPostParameters.Add(
"__EVENTVALIDATION"this.Context["$HIDDEN1.__EVENTVALIDATION"].ToString());
            request2.Body 
= request2Body;
            ExtractHiddenFields rule2 
= new ExtractHiddenFields();
            rule2.ContextParameterName 
= "1";
            request2.ExtractValues 
+= new EventHandler<ExtractionEventArgs>(rule2.Extract);
            yield 
return request2;

            WebTestRequest request3 
= new WebTestRequest("http://localhost/WebSite/test.aspx");
            request3.Method 
= "POST";
            FormPostHttpBody request3Body 
= new FormPostHttpBody();
            request3Body.FormPostParameters.Add(
"__VIEWSTATE"this.Context["$HIDDEN1.__VIEWSTATE"].ToString());
            request3Body.FormPostParameters.Add(
"Button1""Go to default page.");
            request3Body.FormPostParameters.Add(
"__EVENTVALIDATION"this.Context["$HIDDEN1.__EVENTVALIDATION"].ToString());
            request3.Body 
= request3Body;
            yield 
return request3;
        }

    }

}


7 添加一个Load Test ...



8 填写好Load Test的各项参数
 

1) 第一步是填写场景名
2) 第二步是填写装载的样式
    如果选择一次装载固定的用户数,选择第一项Constant Load
    如果选择"Setp Load",表示步增,设置好开始时的用户数,以及经过多久每次增加的用户数
3) Test Mix
4) Browser Mix
5) Network Mix
6) 在Counter Sets 选择Add Compuer...,表示要对某个PC进行监控
7) Run Settings

9 点击Finish

10 点击Run Test,测试就开始了。



压力测试运行后,我们就可以选中某个参数,查看某个时刻机器个方面的性能。参看下图: 



我们也可以运行perfmon,通过Performance查看机器的各项指标。

 

(转http://space.itpub.net/100788/viewspace-246325)vs2005 负载测试

Load Test

负载测试;在负载测试过程中进行监视的一组系统性能计数器。计数器集按不同技术划分,计数集中有不同的计数器,设置每个计数器的阈值(警告值和临界值),如果运行的实际时间超过阈值,则警告或报错。

如何运行负载测试

1.      选中测试项目,右键“添加--〉负载测试”弹出欢迎页面,点击“下一步”

弹出如下图页面:

输入测试方案名,选择思考时间的配置文件。思考时间是模拟用户从打开页面到执行操作之间的时间。

2.      点击下一步,为测试方案编辑负载模式设置

单击分步负载

开始用户计数设置为10个用户。

单步持续时间设置为10秒。

单步用户计数设置为10个用户/步。

最大用户计数设置为100个用户。

单击下一步

3.      向方案中添加测试

下一步是向负载测试方案中添加测试并编辑测试组合

单击添加选择测试。单击可用测试窗格中的测试,再单击箭头将测试添加到选定的测试窗格中。

添加完测试后,单击确定

随即出现测试组合。可以使用滑块来调整测试分发。

将滑块调整到首选组合后,单击下一步

4.      为测试方案选择浏览器组合

从下拉列表中选择IE6浏览器,将其添加到组合中。

还可以添加其他浏览器。使用滑块来调整测试分发和权重。

单击下一步

为测试方案选择网络组合

选择局域网连接类型以添加到网络带宽组合中。

还可以添加其他网络类型。使用滑块来调整测试分发和权重。

单击下一步

5.      指定在负载测试运行期间要使用计数器集监视的计算机

通过单击添加计算机选择要在测试运行期间监视的计算机,并键入承载您前面确定的非生产网站的服务器的名称。

通过添加主机名称,可以收集负载测试中重要的性能信息。(在监视的每个服务器上,都必须具有足够的用户权限以运行性能监视器。否则,将生成错误。)

可以为承载站点的SQL数据库的计算机添加一个单独的项。如果选择不添加任何计算机,则只有本地负载计数器会添加到测试中。

选择要监视的计数器集。将显示一组预定义的计数器集,它们用于向负载测试中添加特定的性能监视器。

如果所测试的站点在ASP.net服务器上运行,则请在“ASP.net”“IIS”选择框中为此测试放选中标记。

单击下一步

6.      编辑负载测试的运行设置

运行持续时间设置为2分钟,以便对负载测试执行冒烟测试。

生成Web测试和负载测试时,最好通过运行一个短暂的小负载测试来验证是否一切都已正确配置并可按预期运行。此过程称为冒烟测试。

单击完成。将在负载测试编辑器中打开负载测试。

7.      运行负载测试

负载测试编辑器中打开一个负载测试,再单击绿色的运行按钮。负载测试开始运行。

若要使可查看区域最大化,请从Visual Studio菜单中单击视图,再单击全屏显示

如果测试模拟超过所有阈值,则树控件节点中将出现图标,以指示阈值冲突。错误上覆盖着红色圆圈,而警告上覆盖着黄色三角形。可以找出超过阈值的计数器,然后通过将图标拖动到关系图上来绘制该计数器。可在测试运行期间进行此操作。通过观察图例中的计算机列,可以确定其所在的计算机。

如何设置计数器,计数器,以及如何设置阈值。

1.有三种计数器类别:百分比、计数和平均数。这三种计数器类别的例子分别为:“% CPU usage”CPU使用百分比)、“SQL Server lock counts”SQL Server锁计数)和“IIS requests per second”(每秒的IIS请求数)。

2.计数器集:将正在测试的服务器添加到需要收集其计数器的计算机的列表中,这一点很重要。这样就可以在负载测试期间收集和监视任何重要的系统数据。

3.阈值:

比较常数:将性能计数器的值与一个常数值进行比较。

比较计数器:将一个性能计数器的值与另一个性能计数器的值进行比较

如果超过则发出警报:将如果超过则发出警报属性设置为“True”,可指示超出阈值将出现问题。例如,如果对“% Processor Time”(处理器时间百分比(%))设置阈值规则,并且希望值大于90时收到警报,请使用比较常数规则类型,将临界阈值设置为90,并将如果超过则发出警报设置为“True”

如果超过则发出警报属性设置为“False”,可指示低于阈值将出现问题。例如,如果对“Requests/Sec”(请求/秒)设置阈值规则,并且希望值低于50时收到警报,请使用比较常数规则类型,将临界阈值设置为50,并将如果超过则发出警报设置为“False”

4.指定计数器集:

负载测试向导计数器集页上,会在预览选定内容窗格中看到现有计数器集。还会显示默认项,包括负载测试计数器集;默认情况下,负载测试计数器集由控制器收集。

(可选)单击添加计算机添加一个新的要监视的计算机。系统会提示您输入名称。键入名称,将在这一新项下看到一些节点,可以选择这些节点。例如,“ADO.NET”“IIS”“SQL”等。选中要选择的节点前面的复选框。新的计数器将出现在预览选定内容窗格中。

选择了计数器集之后,单击下一步可前进到负载测试向导运行设置页。

如何分析测试结果

包括每秒钟的请求数、失败请求的总数、平均响应时间以及平均页面时间。

如何设置sql 数据 数据存储。

 将收集性能计数器数据并将其存储在负载测试结果存储区中

1.在运行SQL Express的本地服务器上创建数据库表 

cd n:"Program Files"Microsoft Visual Studio 8"Common7"IDE

SQLCMD /S localhost"sqlexpress /i loadtestresultsrepository.sql

SQL服务器不在本地机

SQLCMD /S ContosoServer1 -i loadtestresultsrepository.sql

  

SQLCMD /S ContosoServer1 -U <用户名> -P <密码> -i loadtestresultsrepository.sql

2.测试菜单上,单击管理测试控制器。将显示管理测试控制器对话框

3.负载测试结果连接字符串中,单击浏览按钮(…)以显示连接属性对话框。

4.服务器名称中,键入localhost"sqlexpress或您在第2步中使用的服务器的名称(例如ContosoServer1)。

5.登录到服务器下,选择使用Windows身份验证

6.连接到一个数据库下,选择选择或输入一个数据库名。从下拉列表框中选择“LoadTest”。单击确定

7.管理测试控制器对话框中单击关闭

安装sql server 2005 reporting service

  安装成功后,在数据库中有2个数据库reportserverreports,在iis自动配置2个虚拟目录reportserverreports

配置已有的web报告站点

1.数据库的连接

web.config

<add key="ResultDB" value="server=YourDBServerName;User ID=LoadTest;Pwd=LoadTest;Database=LoadTest"/>

改为你连接的数据库相应的服务器,用户名,密码。

b.选中PerfResultReports项目,右键选中属性,设置targeturlhttp://你报表服务器/ReportServertargetfolder为报表部署到报表服务器下对应的目标文件夹

c.双击PerfResultReports项目下的共享文件夹中的LoadTest.rds文件

  将数据源的联接,改为你的数据库连接,

"Data Source=YourDBServerName;Initial Catalog=LoadTest"

d.修改Resultsforprojects.ascx.cssqlConnection2的连接

e.修改ResultsForProjects.ascx.cs中的代码如下:

 switch(e.CommandName)

     {

         case "Results" :                         

Response.Redirect("http://你的报表服务器/ReportServer?%2f报表所部署到的文件夹%2fLoadTestSummary&TestRunId=" + runID, false);

         break;

case "LoadChart" :              

Response.Redirect("http://你的报表服务器/ReportServer?%2f报表所部署到的文件夹%2fPagePerformanceOverTime&TestRunId=" + runID, false);

         break;

         case "WebRequests" :

Response.Redirect("http://你的报表服务器/ReportServer?%2f报表所部署到的文件夹%2fRequestPerformanceDetails&TestRunId=" + runID, false);

         break;

         case "Edit" :

         Session["RunId"] = runID;

         Response.Redirect("home.aspx", false);

         break;

     }

转载于:https://www.cnblogs.com/lmjob/archive/2008/08/12/1265917.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_765560.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Mac电脑 阿里云ECS(ContentOS) Apache+vsftpd+nodejs+mongodb建站过程总结

简介&#xff1a;我这里采用的阿里云免费提供的6个月ECS服务器&#xff1b;制作了一个简单的爬虫程序&#xff1b;里面很多功能还么做&#xff1b;搜索里面功能回去的数据未做处理会崩溃&#xff08;大家不要点搜索功能&#xff09;&#xff1b;地址&#xff1a;http://loldrag…

创建一个网站需要服务器吗,自己创建网站需要什么条件,有什么步骤?

自己创建网站需要什么条件&#xff0c;有什么步骤?我们应该都对创建网站很感兴趣&#xff0c;但是不知道创建网站要准备什么&#xff0c;步骤怎么走?下面小编就来告诉你一下。一、选购域名什么叫域名呢?假如想要做一个自身的网站&#xff0c;选购一个自身喜爱的域名便是大家…

使用Mcafee打造安全网站以及系统(上)

为了让服务器更安全&#xff0c;不如提取&#xff0c;后门等程序的运行&#xff0c;下面的设置对于服务器来说是非常必要。 1.、服务器系统盘设置&#xff0c;防止一些***将程序安装在C盘中&#xff0c;别的盘。按下面的设置&#xff0c;基本上动不了东西。获取系统权限除外。 …

洛奇今天突然与服务器连接中断,《洛奇Mabinogi》官方网站

在这炎热而又难得放松的暑假期间&#xff0c;玩家们用他们的实际行动证明了他们对超人气漫画网游《洛奇》所饱含的无尽热爱之情。我们原准备的6组《洛奇》公测服务器根本抵挡不住玩家们如火般的体验热情&#xff0c;为了让玩家们能享受宽松的游戏环境&#xff0c;7月24日世纪天…

一起动手实现Windows服务程序(监控网站是否能访问)

阅读全文下载例子&#xff1a;http://www.cckan.net/forum.php?modviewthread&tid389 什么是Windows服务程序员&#xff1f; C# Windows服务程序开发之前要明白什么是Windows服务&#xff0c;Windows Service&#xff0c;也称Windows服务&#xff0c;是32位Windows操作系统…

[转]22 个精美的网站管理后台模板推荐

互联网上有大量的关于如何设计网站的教程&#xff0c;可以使你的工作更加容易和简单。但关于网站管理后台的教程却比较少。今天&#xff0c;我们提供一些非常强大的管理面板&#xff0c;可以帮助开发者设计网站的后台部分&#xff0c;另外&#xff0c;漂亮的后台也可以使工作变…

网站安全专家——安全宝

前几天就看到说创新工场旗下开发了针对网站的“安全宝”&#xff0c;游侠就去注册了个帐号。&#xff08;www.anquanbao.com&#xff0c;有网站的朋友可以去注册&#xff09;&#xff0c;昨天把youxia.org的解析服务器改成了安全宝的&#xff1a;ns1.anquanbao.com和ns2.anquan…

Shell 定时发送邮件检查网站脚本/邮件正文

#!/bin/bash ############################################################## # File Name: check_http.sh # Version: V1.0 # Author: nod # Description:sh check_http.sh www.baidu.com ############################################################## #通过curl确认网址…

SEO笔记(二)--URL优化

1.URL简介 URL&#xff08;Uniform Resource Locator&#xff0c;统一资源定位器&#xff09;是页面的网址&#xff0c;通过URL才能访问具体的网页。URL优化时网站的六大重要环节之一&#xff0c;在决定页面相关性中有重要作用&#xff0c;而且会直接影响到收索引擎对页面的收录…

Java查询网站使用的服务器软件

需要电脑上装有jre 或jdk &#xff0c;可以双击运行&#xff0c;如果不行也可以在cmd窗口中输入java -jar server1.0文件所在路径\server1.0.jar&#xff0c;输入网站的一个URL地址即可查询&#xff1b;不过发现对新浪&#xff0c;javaeye 几个网站反应特别慢&#xff0c;不知怎…

一个网站的诞生- MagicDict开发总结7 [Excel 是我的好朋友]

可能由于长期从事对日软件的开发&#xff0c;Excel不知不觉已经成为开发工作的一个不可或缺的软件。从某种意义上说&#xff0c;Office等于Excel了。在整个网站的开发中&#xff0c;数据的整理基本上是Excel表格为基础的&#xff0c;庞大的数据放在Excel里面进行编辑。对于一些…

php网站 怎么查是否开源,怎么查看网站的开源程序?

怎么查看网站的开源程序?在这之前&#xff0c;我们首先应该确保自己了解有哪些常见网站程序可直接拿来用?每一种开源程序只要没有被深度二次开发&#xff0c;它的固有特征就总能被找出来。接下来就看小编的分析&#xff1a;一、WordPress博客系统网站特征&#xff1a;1、查看…

那些著名网站的90年代(转)

它们都是显赫一时的品牌&#xff0c;Smashing Apps 几个月前曾发过一篇文章&#xff0c;介绍27个著名品牌的网站 &#xff0c;它们引领当今 Web 设计风潮&#xff0c;然而&#xff0c;从没有哪个领域象 Web 设计这样&#xff0c;10年便恍若隔世&#xff0c;本文搜集一些著名品牌…

分享到各种热门网站的html代码实现

悬浮 效果&#xff1a; 代码&#xff1a; <span style"display: none;"> <script type"text/javascript"> var _bdhmProtocol (("https:" document.location.protocol) ? " https://" : " http://"); do…

EmbarrassedBird网站

试想现在有如下情景 (情景1) 你写了一封情书准备给心中暗恋很久很久的小Z同学, 我们假设, 你提起来超级无敌巨大的勇气把情书直接交给了小Z, 现在有两种情况 a. 小Z也喜欢你, 欢乐大结局! b. 小Z并不喜欢你, 而且一般情况下, 她可能不知道怎么去拒绝你, 她如果直接拒绝你会令双…

5g网站服务器宽带,别装有线宽带了,5G以后,有线宽带将被淘汰

原标题&#xff1a;别装有线宽带了&#xff0c;5G以后&#xff0c;有线宽带将被淘汰不久前&#xff0c;一个名为M-Lab 的国际宽带联盟发布了其根据实际监测点数据进行分析的全球各国平均宽带速度报告&#xff0c;其中让国人感到尴尬的是——中国大陆的宽带平均下载速度仅为2.38…

Asp.Net 4.0 SEO增强之 UrlRouting

在.Net 4.0之前我们为了做出搜索引擎友好的&#xff0c;对用户也友好的url都是需要自己实现Url重写&#xff0c;现在不需要了&#xff0c;.Net 4.0为我们做这一切。UrlRouting之所以称之为Routing是因为它不但实现了Url重写还可以通过参数得到重写后的Url在页面上使用。 1. Url…

超级简单:改变网站的色彩

曾经是否想给您的网站的观众有机会去定制网站的色彩?这篇文章给出了使用ASP.NET来建立自己这样的网站的一个解决方案。在这里&#xff0c;我们使用ASP.NET母版页&#xff0c;所选择的语言是C&#xff03;。 如msn.com和bbc.co.uk网站允许用户改变他们的网站模板颜色。这个想法…

JS计算用户停留在网站的时间的文档

<html xmlns"http://www.w3.org/1999/xhtml"><form name"myform"><td valign"top" width"135"> 您在此停留了&#xff1a; <input name"clock" size"10" value"在线时间"&g…

CSS+HTML+JS----开发简单个人网站

今天闲着没事花了几个小时写了个个人网站&#xff1b;在盒子布局上花了点时间。 个人网站共六个静态界面&#xff0c;每个界面都有隐藏的音乐&#xff0c;自动播放。 个人网站分为三个部分&#xff0c;登录界面&#xff0c;主界面&#xff0c;以及分界面。 登陆界面主要核心…