I have a meteor based nodejs application. In this application, I open multiple parallel ssh connections upto 200 max. I use nodejs based node-ssh library to establish ssh connections (Node-ssh library in-turn uses nodejs based ssh2 library). I use nodejs based async library to run ssh tasks in parallel. I run 200 async tasks, via async library, to open 200 parallel ssh connections.
When I run the application with node v12.0.0, my application runs properly. But when I run the application with node v12.14.0 or v12.16.1 (meteor uses node v12.14.0 or v12.16.1, so I have to test with these node versions), I get lot of ssh timeouts and I can't complete my activity.
I can tweak the ssh timeout settings and number of parallel ssh connections to make application work properly with node v12.14.0/12.16.1. However this decreases performance significantly.
My question is, has something changed with relation to ssh/async-tasks in node v12.14.0 or v12.16.1 that I cant run 200 ssh tasks in parallel? Iam wondering that behaviour of worker threads in higher versions of nodejs has probably changed, so Iam not able to open 200 parallel ssh connections. Any suggestions on what the problem is or how I can debug it.
Thanks