Make sure to use different servers

master
Nixellion 2020-07-18 15:17:53 +03:00
parent 0cbe5bb1e6
commit 34cfe3cf51
2 changed files with 10 additions and 8 deletions

View File

@ -11,8 +11,8 @@ ros_fasttrack_comment: 'defconf: fasttrack'
ros_ip: 192.168.88.1 ros_ip: 192.168.88.1
ros_maximum_speed: 15000000 ros_maximum_speed: 15000000
ros_minimum_speed: 100000 ros_minimum_speed: 100000
speedtest_threads: 4 speedtest_threads: 2
speedtest_master_threads: 2 speedtest_master_threads: 4
ros_queues: ros_queues:
- eth_LTE6_1 - eth_LTE6_1
- eth_LTE_0 - eth_LTE_0

View File

@ -9,6 +9,7 @@ setup_logging()
from statistics import mean from statistics import mean
from threading import Thread from threading import Thread
from datetime import datetime from datetime import datetime
from functools import partial
import speedtest import speedtest
from dbo import Entry from dbo import Entry
import routeros_api import routeros_api
@ -257,7 +258,7 @@ def reset_globals():
data_dict = {} data_dict = {}
def threaded_speedtest(): def threaded_speedtest(id=0):
global test_started global test_started
global downloading global downloading
global results_dict global results_dict
@ -265,8 +266,9 @@ def threaded_speedtest():
try: try:
s = speedtest.Speedtest() s = speedtest.Speedtest()
s.get_servers() s.get_servers()
# s.get_best_server() s.get_closest_servers(limit=config['speedtest_master_threads'])
print(f"Running test...") s._best.update(s.closest[id])
log.info(f"Running test, server: {s._best['url']}")
test_started = True test_started = True
downloading = True downloading = True
s.download(threads=threads) s.download(threads=threads)
@ -364,10 +366,10 @@ def test_speed(parallel=2):
sws = Thread(target=threaded_wan_speed) sws = Thread(target=threaded_wan_speed)
tests = [] tests = []
for test in range(parallel): for test_id in range(parallel):
t = Thread(target=threaded_speedtest) t = Thread(target=partial(threaded_speedtest, id=test_id))
tests.append(t) tests.append(t)
log.info(f"Starting test thread {test}...") log.info(f"Starting test thread {test_id}...")
t.start() t.start()
log.info("Starting monitoring thread...") log.info("Starting monitoring thread...")