• Visual studio压力测试


    需要安装VS企业正式版本,VS企业使用版本在做压测时,线程数有最多设置250人的限制

    VS企业正式版本安装包:VS 2015 Installation.msg

    创建一个Web Performance And Load Test项目

    1. 打开Visual Studio,选择File->New->Project->Test->Web Performance and Load Test Project

              注意:项目路径请选择D盘或其他磁盘,尽量不要选择C盘,以免磁盘空间不足,对测试结果准确性造成影响

     

     添加调用方式为Get类型的API (API没有缓存,做压测的时候可以用这一个API来压,即每次请求的参数不需要变化)

    1. 选中新建好的工程项目,右键Add Web Performance Test

    2. 双击打开工程项目里的WebTest1,右键添加API请求

    在配置里,调用方式选择GET,添加API url请求后save一下

      

     

    3. 有的API需要添加Headers参数

    右键url->Add Header,在配置里添加Name和Value值

    4. 本地运行一下,确保API调用没有问题后再开始做压测

    点击Run Test,查看API调用结果是否返回200-成功

    在request里勾上Show raw data可以看到请求的原始参数

    添加调用方式为Get类型的API(API有缓存,即每次请求的参数需要变化),

    可以通过add datasource或者generate code的方式更改每次请求的参数,这里以WebTest1为例,每次请求里的contactid取不同的值

    add datasource

    1. 从数据库里以拼接字符串的方式取不同的contactid,把查询结果存放在xml文件里

    xml文件参照:第一组200002864079-20002964075.xml

    2. 在url里点击add data source,选择数据源的格式为xml格式,导入xml文件,选中uri

     

     

     

    3. 在url里点击data source,点击uri_Text,此时请求的url显示成{{DataSource1.uri.uri._Text}},本地运行一下,确保API调用没有问题后再开始做压测

     

    generate code

    1. 点击generate code按钮,生成WebTest1Coded.cs文件

    注意此时webtest文件和生成的coded cs文件是两个独立的文件,在后面介绍的压测中添加API时需要选择coded cs文件

    2. 在cs文件里添加C#代码,右键点击Run Coded Web Performance Test,确保cs文件运行没有问题后再开始做压测

     

    添加调用方式为post类型的API(API没有缓存,做压测的时候可以用这一个API来压,即每次请求的参数不需要变化)

    1. 选中新建好的工程项目,右键Add Web Performance Test

    2. 双击打开工程项目里的WebTest2,右键添加API请求

    在配置里,调用方式选择POST,添加API url请求后save一下

    3. 右键WebTest2,选择open with xml格式,把<FormPostHttpBody />去掉

    添加下面代码:

    <Headers>

        <Header Name="Content-Type" Value="application/json" />

         </Headers>

         <StringHttpBody />

    Save一下

    4. 双击打开WebTest2

    填写content-type和stringbody

    Save一下

     

     

     

    添加Load Test开始做压测

    1. 右键工程项目,Add Load Test

    2. 按向导配置模式、线程数、运行时间、网络  选择On-Premise Load Test在本机做压测

     

    一般不填写think time,选择默认的场景。思考时间:被用来模拟人的行为,   使人们在与网站的互动中等待。

    思考时间发生在Web测试中的请求和负载测试场景中的测试迭代之间。在负载测试中使用思考时间对于创建更精确的负载模拟是有用的。

    一般选择持续的线程模式,step load是增量的线程模式

    默认选择第一种模式,基于请求的总数出压测报告

    添加进行压测的webtest或者coded cs文件

    选择网络,默认选择LAN局域网

    选择浏览器,默认选择Internet explorer 9.0,点击Finish按钮

    3. 点击Run Load Test

    4. Summary Report中几项重要的压测指标

    Max User Load:线程数

    Duration:压测运行时间

    Total Tests:线程数在运行时间内发起的总请求数

    Failed Tests(% of total):请求失败的次数/请求总数

    Avg.Test Time(sec):服务器平均一秒内处理的请求数

    Errors:截图中的get geo locations error可以忽略,通常在线程数逐渐增多的情况下,会出现500-服务器内部错误、504-服务器响应超时错误等等

     

    5. 压测报告模板

    观察在运行时间恒定的情况下,随着线程数不断增加,服务器每秒处理的请求数不再增加反而减少了,说明这个API的性能已经达到峰值。

    如果在压测过程中看到有大量的500、504或者其他错误,让dev查下原因,看能否优化下SP脚本和代码

  • 相关阅读:
    C#基础知识之Dynamic类型
    C#基础知识之Partial
    C#基础知识之System.AppDomain类
    C#基础知识之事件和委托
    C#基础知识之正则表达式
    linux基本命令
    async和await的用法
    使用jQuery的replaceWith()方法要注意的地方
    JS通过指定大小来压缩图片
    js对url进行编码的方法(encodeURI和 encodeURICompoent())
  • 原文地址:https://www.cnblogs.com/jiangjunyong/p/14229491.html
Copyright © 2020-2023  润新知