I marked bpo-37389 as a duplicate of this issue:
"""
msg346410 - (view) Author: Daniel W Forsyth (danf@dataforge.on.ca) Date: 2019-06-24 14:53
After putting a basic ThreadingUDPServer under load (500 messages per/second) I noticed that after a night it was consuming a lot of RAM given it does nothing with the data.
On inception, I noticed the _thread count inside the server was growing forever even though the sub-threads are done.
Setup a basic ThreadingUDPSever with handler that does nothing and check the request_queue_size, it seems to grow without limit.
msg346411 - (view) Author: Daniel W Forsyth (danf@dataforge.on.ca) Date: 2019-06-24 14:59
The only way I could figure out to control it was to do this in a thread;
for thread in server._threads: # type: Thread
if not thread.is_alive():
server._threads.remove(thread)
Shouldn't the server process do this when the thread is done?
""" |