optimisations: socket timeout set to 10 seconds, and min threads = 16