From 34cfe3cf519b745a914ebe8ab107d6338570caa8 Mon Sep 17 00:00:00 2001 From: Nixellion Date: Sat, 18 Jul 2020 15:17:53 +0300 Subject: [PATCH] Make sure to use different servers --- config/config.yaml | 4 ++-- speedtester.py | 14 ++++++++------ 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/config/config.yaml b/config/config.yaml index cdd3754..0b95c19 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -11,8 +11,8 @@ ros_fasttrack_comment: 'defconf: fasttrack' ros_ip: 192.168.88.1 ros_maximum_speed: 15000000 ros_minimum_speed: 100000 -speedtest_threads: 4 -speedtest_master_threads: 2 +speedtest_threads: 2 +speedtest_master_threads: 4 ros_queues: - eth_LTE6_1 - eth_LTE_0 diff --git a/speedtester.py b/speedtester.py index 7aed624..a29d9ba 100644 --- a/speedtester.py +++ b/speedtester.py @@ -9,6 +9,7 @@ setup_logging() from statistics import mean from threading import Thread from datetime import datetime +from functools import partial import speedtest from dbo import Entry import routeros_api @@ -257,7 +258,7 @@ def reset_globals(): data_dict = {} -def threaded_speedtest(): +def threaded_speedtest(id=0): global test_started global downloading global results_dict @@ -265,8 +266,9 @@ def threaded_speedtest(): try: s = speedtest.Speedtest() s.get_servers() - # s.get_best_server() - print(f"Running test...") + s.get_closest_servers(limit=config['speedtest_master_threads']) + s._best.update(s.closest[id]) + log.info(f"Running test, server: {s._best['url']}") test_started = True downloading = True s.download(threads=threads) @@ -364,10 +366,10 @@ def test_speed(parallel=2): sws = Thread(target=threaded_wan_speed) tests = [] - for test in range(parallel): - t = Thread(target=threaded_speedtest) + for test_id in range(parallel): + t = Thread(target=partial(threaded_speedtest, id=test_id)) tests.append(t) - log.info(f"Starting test thread {test}...") + log.info(f"Starting test thread {test_id}...") t.start() log.info("Starting monitoring thread...")