This repository contains the Benchmark IO with Binance project, designed to perform network and file I/O benchmarking. The project uses Python and various libraries to collect, process, and log benchmarking data.
-
Clone the repository:
git clone https://github.com/yourusername/benchmark-io-with-binance.git cd benchmark-io-with-binance -
Install dependencies:
pip install -r requirements.txt
-
Set up environment variables:
- Rename
example.envto.envand set the variables as per your needs.
cp example.env .env
- Rename
Run the following command:
python benchmark_io.py-
Build the Docker image:
docker build -t benchmark-io . -
Run the Docker container:
docker run -d --name benchmark-io-container benchmark-io
Set the following environment variables in your .env file:
SERVER_ID=your_server_id
SERVER_IP=your_server_ip
NUM_RUNS=20
DELAY_BETWEEN_RUNS=0
JOB_SCHEDULE="15:22"
LOG_API_BASE=https://log-api.hassankhurram.com/log
MAX_WORKERS=50The main function of the project that performs network and file I/O benchmarking tasks.
Logs events to the log API using GET requests in a non-blocking way.
Performs network I/O benchmarking by pulling data from Binance.
Performs file I/O benchmarking by reading and writing files.
This project is licensed under the MIT License – see the LICENSE.md file for details.
This project was inspired by the following resources:
- Python
- Binance API
- APScheduler
- psutil
Feel free to contact me at support@hassankhurram.com if you have any questions or suggestions. You can also raise an issue if needed.