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.
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
Automated network download testing Multiple fallback servers TCP latency measurement TCP handshake measurement Throughput calculation Transfer variance analysis
Each measurement stores:
timestamp server_name server_ip latency_ms tcp_handshake_ms download_time_sec throughput_Mbps transfer_variance
->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
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.
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
->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