Il modo in cui fai le query è sicuramente sbagliato, ma questo non spiega comunque ciò che ti capita.
Se è vero tutto quello che hai scritto, non vedo come si possano raggiungere le 150-200 connessioni attive. A meno che gli accessi non siano molto concentrati in determinati orari.
Comunque comincia ad ottimizzare le query usando le join, poi vedi se cambia qualcosa