`
MyEyeOfJava
  • 浏览: 1171183 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
7af2d6ca-4fe1-3e9a-be85-3f65f7120bd0
测试开发
浏览量:71868
533896eb-dd7b-3cde-b4d3-cc1ce02c1c14
晨记
浏览量:0
社区版块
存档分类
最新评论

[ATC]Facebook开源弱网模拟工具

阅读更多

需要注意如下:1.笔者使用了linux USB网卡,是让手机去链接制定开启服务的LinuxServer,2.在启动服务的时候需要制定内网网卡名和外网网卡名,这样手机选择内网网卡的时候速度被被限制影响,外网网卡还可以继续访问否则会提示ATC is not running。 3.笔者在自己的H5服务器上成功的搭建了ATC这套系统,中间解决了include问题,queue找不到的问题,页面样式丢失等问题。

 

在我们之前的网络测试中,主要是限制网速来模拟弱网络环境,而实际中弱网络时,网络延时,丢包率都会有变化,所以使用网速+丢包率+延时来定义一种网络环境更加合理

本篇文章介绍ATC工具环境的搭建和使用,搭建方法来自Facebook官方github中的说明,https://github.com/facebook/augmented-traffic-control,这里做一些翻译和补充

 

1、要使用ATC,首先需要在linux下创建热点,方法可以参照《在Virtualbox的Ubuntu上创建无线(WiFi)热点》。

2、安装pip,终端输入sudo apt-get install python-pip

3、通过pip安装ATC需要的django组件

pip install atc_thrift atcd django-atc-api django-atc-demo-ui django-atc-profile-storage

4、创建一个django工程以便使用ATC服务端app

 

django-admin startproject atcui
cd atcui
5、进入atcui目录,注意这里有两层目录哦,编辑settings.py

 

在INSTALLED_APPS里添加如下内容,

 

 # Django ATC API
    'rest_framework',
    'atc_api',
    # Django ATC Demo UI
    'bootstrap_themes',
    'django_static_jquery',
    'atc_demo_ui',
    # Django ATC Profile Storage
    'atc_profile_storage',
我的最终填完是这样的,

 

6、编辑urls.py,导入

from django.views.generic.base import RedirectView
在urlpatterns 添加如下内容

 

 

 # Django ATC API
    url(r'^api/v1/', include('atc_api.urls')),
    # Django ATC Demo UI
    url(r'^atc_demo_ui/', include('atc_demo_ui.urls')),
    # Django ATC profile storage
    url(r'^api/v1/profiles/', include('atc_profile_storage.urls')),
    url(r'^$', RedirectView.as_view(url='/atc_demo_ui/', permanent=False)),
我这最终是这样,与官网格式有点不同,这里是个数组

 

7、 跟新django数据库,

 

python manage.py migrate
8、配置完成然后可以运行了,这里使用网卡eth0作为公网连接,wlan0作为内网连接,启动时通过参数指定

 

 

sudo atcd --atcd-wan eth0 --atcd-lan wlan0
9、运行ATC UI 

 

 

python manage.py runserver 0.0.0.0:8000
10、这时通过手机浏览器访问192.168.0.1:8000(热点的网关设置的是192.168.0.1的话)就能看到控制页面了,

 

 Note:我用了4台手机去打开,结果只有谷歌的儿子们可以正常打开,这可能是由于其他rom没有谷歌服务框架导致的,我尝试在其他手机装chrome却无法启动

11、facebook已经在自己的工程中为我们配置了常见网络的配置,可以通过如下方式添加

    

git clone https://github.com/facebook/augmented-traffic-control.git
下载代码完成后运行
utils/restore-profiles.sh localhost:8000
再刷新手机浏览器页面,就能看到预制的网络配置了
如果要切换配置,只需点击配置旁边的“Select”按钮,在点击上方的“Update Shaping”按钮即可
实测了一下,网速确实有变化,但是丢包率和延时这两个参数通过外围不好观察是不是生效
分享到:
评论

相关推荐

    弱网测试方案 v1.0.3

    6. 附录中介绍了其他一些相关工具,如Charles工具和Facebook开源的atc工具,这些工具也可用于弱网测试环境的搭建。 进行弱网测试时,测试人员需要关注网络条件对软件性能和用户交互体验的影响,通过模拟不同的网络...

    智慧城市-2012年NEC智慧城市解决方案.zip

    智慧城市-2012年NEC智慧城市解决方案.zip

    IBMERP实施应收模块业务方案和用户操作手册手册超详.doc

    IBMERP实施应收模块业务方案和用户操作手册手册超详.doc

    spring-boot-1.4.4.RELEASE.jar中文文档.zip

    # 压缩文件中包含: 中文文档 jar包下载地址 Maven依赖 Gradle依赖 源代码下载地址 # 本文件关键字: jar中文文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;

    spring-boot-2.4.0.jar中文文档.zip

    # 压缩文件中包含: 中文文档 jar包下载地址 Maven依赖 Gradle依赖 源代码下载地址 # 本文件关键字: jar中文文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;

    JAVA保存计算过程的计算器课程设计报告样本.doc

    JAVA保存计算过程的计算器课程设计报告样本.doc

    scratch少儿编程逻辑思维游戏源码-像素任务.zip

    scratch少儿编程逻辑思维游戏源码-像素任务.zip

    spring-boot-1.4.6.RELEASE.jar中文-英文对照文档.zip

    # 压缩文件中包含: 中文-英文对照文档 jar包下载地址 Maven依赖 Gradle依赖 源代码下载地址 # 本文件关键字: jar中文-英文对照文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;

    spring-boot-2.6.9.jar中文-英文对照文档.zip

    # 压缩文件中包含: 中文-英文对照文档 jar包下载地址 Maven依赖 Gradle依赖 源代码下载地址 # 本文件关键字: jar中文-英文对照文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;

    spring-boot-1.5.14.RELEASE.jar中文文档.zip

    # 压缩文件中包含: 中文文档 jar包下载地址 Maven依赖 Gradle依赖 源代码下载地址 # 本文件关键字: jar中文文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;

    rocksdbjni-6.22.1.1.jar中文文档.zip

    # 压缩文件中包含: 中文文档 jar包下载地址 Maven依赖 Gradle依赖 源代码下载地址 # 本文件关键字: jar中文文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;

    scratch少儿编程逻辑思维游戏源码-死亡锯.zip

    scratch少儿编程逻辑思维游戏源码-死亡锯.zip

    FPGA单精度浮点数运算及PID控制的Verilog实现资料包

    内容概要:本文档介绍了一套完整的FPGA工程项目资料包,涵盖了单精度浮点数运算(加减乘除、开方)、浮点数与整数互转以及PID控制算法的Verilog实现。每个项目都包含了详细的工程代码、测试平台(testbench)和相关说明文件。此外,还提供了MATLAB文件用于验证PID算法的准确性,以及一个小工具用于浮点数和整数的转换。所有代码均为纯Verilog编写,不依赖于任何IP核,便于用户自定义修改和优化。 适合人群:对FPGA开发感兴趣的电子工程师、硬件开发者、科研人员及高校师生。 使用场景及目标:① 学习和掌握FPGA环境下单精度浮点数运算的基本原理及其具体实现方法;② 探索并理解PID控制算法在实际系统中的应用;③ 利用提供的MATLAB文件和小工具辅助教学或研究工作。 其他说明:资料包内的所有工程均可直接在Altera平台上进行仿真测试,帮助使用者快速入门并深入理解各个模块的功能特性。

    IBM企业内容管理解决方案.doc

    IBM企业内容管理解决方案.doc

    update9-20250501.5.208.slice.img.7z.003

    小雉系统分卷源码,修正系统安全问题

    rocksdbjni-6.25.3.jar中文文档.zip

    # 压缩文件中包含: 中文文档 jar包下载地址 Maven依赖 Gradle依赖 源代码下载地址 # 本文件关键字: jar中文文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;

    spring-boot-2.3.8.RELEASE.jar中文-英文对照文档.zip

    # 压缩文件中包含: 中文-英文对照文档 jar包下载地址 Maven依赖 Gradle依赖 源代码下载地址 # 本文件关键字: jar中文-英文对照文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;

    scratch少儿编程逻辑思维游戏源码-我的 scratch 旅行.zip

    scratch少儿编程逻辑思维游戏源码-我的 scratch 旅行.zip

    scratch少儿编程逻辑思维游戏源码-太空派对.zip

    scratch少儿编程逻辑思维游戏源码-太空派对.zip

    冷冻站控制系统设计与实现——基于WinCC上位机与400冗余系统的图纸及程序解析

    内容概要:本文详细介绍了冷冻站控制系统的设计与实现,重点在于WinCC上位机和400冗余系统的应用。文中首先阐述了WinCC上位机的作用及其设计要点,如数据采集、处理、存储和报警显示等功能模块,并对其响应速度进行了优化。接着探讨了400冗余系统在提高系统可靠性方面的作用,通过多控制器备份机制确保系统稳定运行,并引入了故障诊断技术。最后,提供了详细的系统图纸(包括电路图、接线图)和程序代码(涵盖WinCC上位机程序及400冗余系统的控制逻辑),方便用户进行安装、调试和维护。 适用人群:从事工业自动化领域的工程师和技术人员,尤其是那些需要理解和实施冷冻站控制系统的专业人士。 使用场景及目标:适用于新建或改造冷冻站项目,旨在帮助技术人员掌握WinCC上位机和400冗余系统的具体应用,从而构建高可靠性、高实时性的冷冻站控制系统。 其他说明:文章不仅提供了理论指导,还附带实际操作所需的图纸和程序,便于读者直接应用于工程项目中。此外,作者对未来的技术发展方向进行了展望,强调将持续优化和升级系统,以适应不断变化的工业需求。

Global site tag (gtag.js) - Google Analytics