Facebook Augmented Traffic Controller - A POV on network testing tool

Facebook Augmented Traffic Controller - A POV on network testing tool

Facebook Augmented Traffic Control

Have you ever felt the need to simulate various network and mobile performance conditions for testing your new digital/mobile application or a responsive online system you want to test? Field emulation, network simulation and special condition testing is a challenging puzzle to crack. If you have a popular online portal or a mobile application with a massive reach, you need to ensure that the system behavior is acceptable across network conditions, across platform and devices. Digital content verification and validation comes to the foray.

One of the excellent tools available for you to accomplish this task is available freely from the most popular digital company in the world at the moment – Facebook. Facebook’s – Augmented Traffic Control - https://facebook.github.io/augmented-traffic-control/  is a brilliant tool to  simulate network conditions, latency, packet loss/corruption/reordering  for simulating testing and running the tests smoothly in a short span of time.

How it works?

Following link is  a brilliant diagram explaining how it works - https://facebook.github.io/augmented-traffic-control/images/atc_overview.png

How to Install?

Landing page for wealth of information is available at

Skills Needed to Install and Test

  • Good know-how of Linux and basic Linux Admin skills to configure processes/daemons
  • It is available only in a LINUX build due to features available 
  • Basic Python Skills
  • Basic know-how to understand Django – No coding required
  • Very good problem solving skills

First Person POV on the experience of a proof-of-concept and usage

  • Installation was a charm for our installation in a UBUNTU
  • Configurations were followed in a seamless manner.
  • A wired network with a high-speed DSL was setup.
  • A wireless router with high-speed internet
  • Deployment instructions followed as per guides
  • It would be hard to believe a seamless installation/configuration isn’t it. We encountered issues while configuring the setup.
    • A setup issue was encountered for running of daemon process and GUI invocation
      • An email was sent to the developers and a query to SME helped resolve the issue within 9 hours

Post configuration of the daemon process, use of 10 ATC sample profiles were available to test. We added a few additional configuration parameters to ensure we are able to emulate different configurations. It worked like a charm.

For ATC profile invocation, you can do the following.

  1. Invoke the ATC Daemon GUI
  2. Choose the profile you want to setup
  3. Turn-on the Profile
  4. Once done with testing, Turn-off the profile

What was the outcome?

We were able to configure setup for various speeds, throttle network speed, validate with speed testing tools, and carry on with the testing for expected conditions.

Original network speed in the device

Speed Throttled to 50% with profile activation in ATC

Server Logs for invocation and API Calls for profile invocation

What else can you do?

  • Given this is delivered under BSD license, within the permissible limits, you can build your own test infrastructure, extend the interfaces for different purposes (i.e. build a better GUI for configuration, throttling, monitoring and reporting).
  • You can also script an automated test execution scripting suite and run various simulation conditions in a sequential / parallel mode (based on setup and need).

Conclusion/Summary

I found ATC to be an excellent open source tool for simulating bandwidth and network conditions. It is a cost effective tool if you want to setup test infrastructure quickly for your project requirement. 

This document can be referred to at Slideshare

Hope it was useful. Thank you for reading this post. If you enjoyed reading it, please Like, Comment and Share!

Note:- Title Image created using CANVA tool. Authors of the quote referred where known. Most of the information shared is generic and available in various forms in the Internet. Respective trademarks are owned by corresponding firms. 

Suneet Singh

Staff Engineering Manager at InMobi

8 年

Thanks Kalilur for the details. I have setup the ATD server on my linux machine but i don't have any idea how to connect my testing device to this server to throttle the speed. Please assist me on this.

回复
Vedesh Kumar Kabbal Madhegowda

Lead Product Test Engineer || Process Intelligence || Process Improvement || Automation || Digital Transformation || Data Mining || Skan.ai

9 年

Hi Kalilur, i'm trying to configure ATC in my ubuntu desktop. But i'm facing an issue like "One of the interface eth0 or eth1 is missing" so please help me put to solve this issue

回复
Salmankhan Chauhan

Canadian PR | Quality Assurance |Generative AI/ML | RPA | ISTQB-CTFL? | SFC? | Web, Mobile and Desktop Application Testing | QA Automation | Software Tester | API Testing | JMeter

9 年

Hi Kalilur, thanks for sharing. I have one question is can we setup this Facebook ATC on some virtual linux OS which have host OS MAC and our MAC is sharing its internet from Ethernet to WiFi ?

Thanks Kalilur for sharing this article!

Kalilur Rahman

Director @ Novartis | IT Strategy, IT Management, Business Transformation

9 年

Naveen.. Yes it is.. It is open source and easy to use..

回复

要查看或添加评论,请登录

Kalilur Rahman的更多文章

社区洞察

其他会员也浏览了