Oi Silva,
Pool de conexão de 10 significa que você terá no máximo 10 conexões da sua aplicação para seu banco de dados, não significa número máximo de usuários que podem se conectar a sua aplicação simultaneamente.
Mesmo que muitos usuários usem sua aplicação ao mesmo tempo, isso não significa que todos eles usarão uma conexão com o banco de dados (por exemplo, inatividade, visualização de páginas estáticas, obtenção de dados de caches etc.).
Se o pool estiver totalmente esgotado, o próximo usuário ficará na fila até que uma conexão seja retornada ao pool.
Portanto, você pode adicionar um tempo limite para detectar esse tempo de fila, por exemplo, se em 5 a 10 segundos não retornar, suponha que o pool esteja cheio e redirecione o usuário para a página estática com uma mensagem dizendo que está cheio.
É interessante registrar este evento para que se você souber quando seu pool está cheio na maior parte do tempo, então é hora de aumentar a contagem máxima de conexões.
Espero ter ajudado. Qualquer coisa é só falar :)