each connection costs memory and cpu, so fewer is much better.
But you can't limit in every scenario the connections to 10 connections or so. Each app has it's very own requirements. Basically, if the app sends on each web request a JMS Message, a connection per user/webrequest? would be ok to have one connection per user, but you should not bind a JMS connection to a user's session. When a Web-Requests starts, you create one connection, do your work and close the connection. To determine, how much connections you need, you could monitor JMS activity for a certain time.
It's very important, to free each connection when it's not needed anymore. Too much open connections can cause locks due transactional locks.