Multiple speedtest threads
							parent
							
								
									887466f0f0
								
							
						
					
					
						commit
						bbd263d9eb
					
				| 
						 | 
					@ -142,3 +142,4 @@ test3.py
 | 
				
			||||||
test4.py
 | 
					test4.py
 | 
				
			||||||
speeds.txt
 | 
					speeds.txt
 | 
				
			||||||
*.png
 | 
					*.png
 | 
				
			||||||
 | 
					config/dash_data.yaml
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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:
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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()
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue