чуть ли не постоянно БД получала too many connections
Возможно, время между открытием соединения и закрытием проходит достаточно много времени и поэтому СУБД вынуждена держать много открытых соединений одновременно, что плохо.
Скорее всего, код нужно исправлять.