Multiple speedtest threads

master
Nixellion 2020-07-14 15:12:11 +03:00
parent 887466f0f0
commit bbd263d9eb
3 changed files with 20 additions and 5 deletions

1
.gitignore vendored
View File

@ -142,3 +142,4 @@ test3.py
test4.py test4.py
speeds.txt speeds.txt
*.png *.png
config/dash_data.yaml

View File

@ -11,6 +11,7 @@ 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
ros_queues: ros_queues:
- queue1 - queue1
ros_queues_except: ros_queues_except:

View File

@ -355,15 +355,28 @@ def threaded_wan_speed():
log.info(f"Monitor result: {mbits(wan_download)} mbps; {mbits(wan_upload)} mbps;") log.info(f"Monitor result: {mbits(wan_download)} mbps; {mbits(wan_upload)} mbps;")
def test_speed(): def test_speed(parallel=2):
global wan_download global wan_download
reset_globals() reset_globals()
sws = Thread(target=threaded_wan_speed) sws = Thread(target=threaded_wan_speed)
st = Thread(target=threaded_speedtest)
st.start() tests = []
for test in range(parallel):
t = Thread(target=threaded_speedtest)
tests.append(t)
log.info(f"Starting test thread {test}...")
t.start()
log.info("Starting monitoring thread...")
sws.start() sws.start()
st.join()
for i, test in enumerate(tests):
test.join()
log.info(f"Test thread {i} finished.")
sws.join() sws.join()
log.info(f"Monitoring thread finished.")
return return
@ -463,7 +476,7 @@ if __name__ == "__main__":
ros_unlimited_speed() # Thats 4096 Megabits adjust if you got more... ros_unlimited_speed() # Thats 4096 Megabits adjust if you got more...
time.sleep(5) time.sleep(5)
test_speed() test_speed(config['speedtest_threads'])
if speedtest_failed: if speedtest_failed:
on_fail_or_no_connection() on_fail_or_no_connection()