Skip to content

cosmocode-source/Network_Download_Analyzer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Automated Network Download Analyzer

Overview

This project implements an automated network monitoring system that measures download performance from multiple global servers over time. The system downloads a standardized 100MB test file from different servers and analyzes:

Network latency TCP handshake time Throughput (download speed) Transfer stability

The collected data is stored in MongoDB Atlas and visualized through a Python dashboard. The goal of the project is to analyze network congestion patterns and throughput trends over a 24-hour period.

Core Idea

The system acts as a network probe that repeatedly downloads files from global servers and records performance metrics. By analyzing the collected data over time, the system can identify:

Peak congestion periods Best performing servers Throughput variations during the day Network stability patterns

System Architecture

image

Features

Automated network download testing Multiple fallback servers TCP latency measurement TCP handshake measurement Throughput calculation Transfer variance analysis

Metrics Collected

Each measurement stores:

timestamp server_name server_ip latency_ms tcp_handshake_ms download_time_sec throughput_Mbps transfer_variance

Project Structure

image

Installation

->Clone the repository:

git clone https://github.com/YOUR_USERNAME/network-download-analyzer.git

cd network-download-analyzer

->Install Dependancies:

pip install -r requirements.txt

pip install python-dotenv

MongoDB Setup

This project requires a MongoDB Atlas database. Replace the placeholder connection string in the .env.ex. Also before running covert the file name to .env. Import teh necessary modules required to run the program.

image

24-Hour Network Analysis

To run continuous measurements, schedule the probe using cron. Example cron job: => 0 * * * * python runner.py

This runs the probe every hour.

After 24 hours the dashboard will display: hourly throughput trends latency patterns server performance comparisons congestion analysis

What Your Dashboard Report Shows

->The final report includes:

throughput trends over time latency variation server comparision hourly network traffic patterns stability analysis This allows identification of network congestion and performance patterns. Interactive dashboard visualization

image image

About

This project measures internet download performance over time. A Python program automatically downloads a 100MB test file from different servers and records information like download speed, latency, and connection time. The data is stored in a database and shown in a dashboard where we can see how the network performance changes during the day.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors