`
MyEyeOfJava
  • 浏览: 1149738 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
7af2d6ca-4fe1-3e9a-be85-3f65f7120bd0
测试开发
浏览量:71074
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工具,这些工具也可用于弱网测试环境的搭建。 进行弱网测试时,测试人员需要关注网络条件对软件性能和用户交互体验的影响,通过模拟不同的网络...

    OS2ATC 2021 开源操作系统年度技术会议PPT合集-共46份.zip

    OS2ATC 2021开源操作系统年度技术会议是一个聚焦于开源操作系统领域的专业盛会,旨在探讨最新的技术趋势、分享实践经验以及推动技术创新。这个PPT合集包含了46份来自会议的演讲材料,覆盖了广泛的主题,对于了解当前...

    Swiss ATC-开源

    【Swiss ATC-开源】项目是一个专门为X-Plane飞行模拟器设计的空中交通管制(ATC)模拟系统。这个项目的核心目标是为飞行员和空中交通控制器提供一个真实且全面的瑞士空中交通管理体验。其特色在于包含了多个组件,...

    OS2ATC 2021 第九届开源操作系统年度技术会议PPT合集(45份).zip

    OS2ATC 2021 第九届开源操作系统年度技术会议PPT合集(45份) Kata Containers UniKernel WebAssembly-runtime Demo RISC-V向量编程及编译支持 通用机密计算平台技术初探 Python在大数据领域实践和思考 RT-Thread ...

    ATC 文件加密压缩工具(Japan)

    源自日本的加密压缩工具~ 无须注册~ 将文件压缩并加密成atc文件~ 支持EXE输出~

    LAMMPS的AtC模块的中文手册翻译.zip

    LAMMPS(Large-scale Atomic/Molecular Massively Parallel Simulator)是一款广泛应用于分子动力学模拟的开源软件。它支持多种计算模型,包括经典分子动力学、蒙特卡洛、量子力学以及介观模拟等。在LAMMPS的众多...

    Go-ATC快速开发Go应用程序的开源框架

    ATC,全称为 Application Template for Cloud,是一款专为Go语言设计的开源框架,旨在加速Go应用程序的开发过程。它提供了一套完整的结构和工具,帮助开发者构建RESTful API和Thrift RPC服务,使得开发工作更加高效...

    最新ATC编码(全)

    最新atc编码全集。与化工网一致。最新ATC编码(全)/最新ATC编码(全)/

    ADS仿真_ATC电感电容S2P

    它提供了一整套完整的工具,用于模拟、优化和验证复杂的射频系统,包括混合信号、微波、毫米波乃至光电子电路。在本次分享的压缩包中,重点是关于ATC(American Technical Ceramics)公司的电感和电容S2P(S-...

    Facebook atc环境搭建总结

    ATC 安装与启动 无线网卡配置WIFI 热点 hostapd,hostapd启动脚本

    ATC规范中建议的远场、近场脉冲非脉冲地震动记录ATC-63 Record Set.zip

    ATC-63 Record Set是地震工程学领域中一个重要的参考资源,主要包含了远场、近场脉冲非脉冲地震动记录。这些记录对于理解地震对建筑物及其他结构的影响至关重要,同时也是进行抗震设计和评估的重要依据。以下是这些...

    ATC Signup-开源

    总的来说,ATC Signup-开源项目是一个强大且灵活的工具,为飞行模拟社区的活动管理提供了便利。通过开源的方式,它促进了技术创新,增强了社区的凝聚力,同时也为参与者提供了更优质的体验。无论是开发者还是用户,...

    ATC模型库(ADS-S2P)

    ATC模型库(ADS-S2P)是针对射频微波设计领域的一个宝贵资源,它包含了一系列电容和电感的模拟模型,适用于ADS(Advanced Design System)软件。这个库特别之处在于它经过了两次压缩,确保了数据的紧凑性和传输效率...

    ATC模型库S2P文件

    ATC(Advanced Technology Compiler)模型库是电子设计自动化(EDA)领域中的一种重要工具,它包含了一系列用于模拟和仿真电子元件的数学模型。S2P文件是这些模型库中的一个特殊格式,通常用于描述无源电子元件,如...

    ATC3000新增DRP验收测试.zip

    总的来说,ATC3000的DRP子系统测试是一个严谨的过程,涉及理论验证、模拟仿真、实地操作和持续优化等多个阶段。通过这些文档,我们可以了解到从系统设计、操作培训、现场实施到验收评估的全过程,这对于保障ATC3000...

    ATC_Demo2_目标级联分析_matlab_ATC_

    ATC_Demo2演示了分析目标级联(ATC),这是一种通过解决一个简单的分析优化问题来解决大规模工程设计问题的方法。目的不是为了说明ATC的好处,而是为了清楚地说明ATC的实施。优化问题首先使用标准(未分解)方法解决。...

    基于模拟植物生长算法的电力系统ATC计算.pdf

    这种基于PGSA的ATC计算方法对于提高电力系统的运行效率、增强电网稳定性具有重要意义,为电力调度决策提供了新的工具。 此外,文章还指出,由于PGSA的灵活性和自适应性,它有可能应用于其他领域的优化问题,比如...

    ATC_0805WLS2P.zip

    标题中的"ATC_0805WLS2P.zip"是一个压缩文件,其中包含了与电学相关的数据,特别是关于ATC 0805线圈电感的仿真信息。ATC通常指的是Advanced Technology Components(高级技术组件),而0805是电子元器件的一种尺寸...

Global site tag (gtag.js) - Google Analytics