This project is designed to monitor, analyze, and optimize network performance by collecting data, identifying bottlenecks, and providing recommendations. The tool generates visualizations and reports to assist in network optimization efforts.
• Data Collection: Retrieves network performance metrics using SNMP and packet capture.
• Data Storage: Stores metrics in a SQLite database and logs information for further analysis.
• Analysis: Identifies bottlenecks and analyzes traffic patterns to highlight performance issues.
• Optimization: Provides recommendations for network improvement based on collected metrics.
• Reporting: Generates visualizations and sends alerts based on performance thresholds.
Network Performance Optimization/ ├── src/ │ ├── data_collection/ │ │ ├── init.py │ │ ├── performance_metrics.py │ │ └── traffic_collector.py │ ├── data_storage/ │ │ ├── init.py │ │ ├── database.py │ │ └── log_manager.py │ ├── analysis/ │ │ ├── init.py │ │ ├── bottleneck_identification.py │ │ └── traffic_analysis.py │ ├── optimization/ │ │ ├── init.py │ │ ├── automated_actions.py │ │ └── recommendations.py │ └── reporting/ │ ├── init.py │ ├── alerts.py │ └── visualization.py ├── cloud/ │ └── aws_setup.sh ├── config/ │ └── .config ├── images/ │ ├── dashboard.png │ └── network_performance_plot.png ├── kubernetes/ │ ├── deployment.yaml │ └── service.yaml ├── .env ├── requirements.txt ├── network_metrics.db ├── network_performance.log └── docker-compose.yml
• Python 3.9 • Docker • Kubernetes (optional for cloud deployment) • Required Python packages (listed in requirements. txt)
-
Clone the Repository: git clone (https://github.com/10sharmashivam/Network_performance_optimization.git) cd Network Performance Optimization
-
Install Dependencies: pip install -r requirements.txt
-
Run the Application: Execute main.py to start the application and begin collecting data.
-
Docker Deployment:
If using Docker locally: docker-compose up
- AWS Setup:
Run the aws_setup.sh script to set up Docker and deploy the application on an AWS instance. 2. Kubernetes Deployment:
Apply the deployment.yaml and service.yaml files to your Kubernetes cluster.
The tool generates a graph showing network performance over time. The inverted V-shaped graph represents fluctuations in network performance, where the peak indicates maximum activity or potential bottleneck.
Machine Learning Integration: Future versions may include predictive modeling to forecast network performance trends and automate optimizations.