如何在VSTS 2010 中自定义真实网络仿真

如何在VSTS 2010 中自定义真实网络仿真

2009-07-03 16:27 1050人阅读 评论(3) 收藏 举报

在前面几篇博客文章里,我们介绍了VSTS 2010 网络仿真,以及如何为负载测试或单元测试及其它测试配置网络仿真Network Emulation)。接下来的一些博客中将陆续与大家分享在使用VS2010过程中发现的关于 Network Emulation 网络仿真更高级的特性。

 

Visual Studio 2010 中网络仿真(Network Emulation)新特性

VS20008 相比,VS2010提供的网络仿真(Network Emulation可以模拟那些使用可靠的物理链路的有线和无线网络,如以太网。并且VS2010里提供的网络仿真模型中加入了许多新的网络属性:如跨网络的往返时间(延迟)Latency 可用带宽、 排队方式、 数据包丢失量、 数据包的重新排列和错误传播等,并为筛选基于 IP 地址或TCP UDP  ICMP协议的网络数据包提供了灵活性。因此与VS2008相比,VS2010网络仿真为用户模拟出更真实的网络环境。

VSTS 2010中提供下列10 种网络类型:

o   Cable-DSL 384Kps

o   LAN

o   Cable-DSL 1.5Mbps

o   Cable-DSL 768Kbps

o   3G

o   CDMA

o   Dial-up 56k Modem

o   Intercontinental slow WAN 300 Kbps

o   Intercontinental slow WAN 1.5 Mbps

o   Intra-continental slow WAN 1.5 Mbps

 

自定义Visual Studio 2010 中网络仿真配置文件(Network Emulation Profile)

VS2010中自有的网络仿真配置文件位于:

C:/Program Files/Microsoft Visual Studio 10.0/Common7/IDE/Templates/LoadTest/Networks

例如:VSTS 201 中新提供的3G网络定义如下:

<NetworkEmulationProfile name=3G xmlns=http://microsoft.com/schemas/VisualStudio/TeamTest/2010>

<Emulation>

  <VirtualChannel name=ThreeG-Channel1>

    <FilterList />

    <VirtualLink instances=1 name=link1>

      <LinkRule dir=upstream> //宽带下行速度定义

        <Bandwidth> 

          <Speed unit=kbps>512</Speed>

          <QueueManagement>       //数据包排队方式定义

            <NormalQueue>

              <Size>100</Size>

              <QueueMode>packet</QueueMode>

              <DropType>DropTail</DropType>

            </NormalQueue>

          </QueueManagement>

        </Bandwidth>

        <Latency>    //延迟定义

          <Fixed>

            <Time unit=msec>150</Time>

          </Fixed>

        </Latency>

        <Loss>       //数据包丢失定义

          <Random>

            <Rate>0.0025</Rate>

          </Random>

        </Loss>

      </LinkRule>

      <LinkRule dir=downstream> //宽带上行速度定义

        <Bandwidth>

          <Speed unit=kbps>64</Speed>

          <QueueManagement>   //数据包排队方式定义

            <NormalQueue>

              <Size>100</Size>

              <QueueMode>packet</QueueMode>

              <DropType>DropTail</DropType>

            </NormalQueue>

          </QueueManagement>

        </Bandwidth>

        <Latency>    //延迟定义

          <Fixed>

            <Time unit=msec>150</Time>

          </Fixed>

        </Latency>

        <Loss>    //数据包丢失定义

          <Random>

            <Rate>0.0025</Rate>

          </Random>

        </Loss>

      </LinkRule>

    </VirtualLink>

  </VirtualChannel>

</Emulation>

</NetworkEmulationProfile>

 

用户可以很容易地根据自己的需求自定义并创建所需要模拟的网络环境:

1.    为网络属性如网络延迟(Latency)、宽带上行/下行速度、 数据包排队方式、 数据包丢失设置相应的 

2.    更改NetworkEmulationProfile名字为自定义网络类型名字

3.    将自定义的network文件放置在: C:/Program Files/Microsoft Visual Studio 10.0/Common7/IDE/Templates/LoadTest/Networks

当我们运行Unit/Load Test 时,就可以利用自定义的网络类型进行网络模拟:

·         Configuration Settings – localtestsettings 页中的网络模拟列出了我们自定义创建的网络类型:

http://blog.weirong.li/wp-content/uploads/2016/09/47737ff8-f1d3-4edf-adc9-0f98b58f84ec

 ·         Load Test Wizard的网络组合里列出了我们自定义创建的网络类型

http://blog.weirong.li/wp-content/uploads/2016/09/2ef104ee-6ceb-41f4-9f5a-f642fb486073

以后的博客中将分享更多的网络模拟高级特性,包括对网络数据包的排队方式、 数据包丢失量、 数据包的重新排列和错误传播等,以及筛选基于 IP 地址或TCP UDP  ICMP协议的网络数据包进行模拟。

此条目发表在Uncategorized分类目录,贴了标签。将固定链接加入收藏夹。