Пул соединений 50 означает, что у вас будет максимум 50 соединений с вашим WebApp на вашу БД, это не означает максимальное количество пользователей, которые могут одновременно подключаться к вашему приложению.
Даже если много пользователей, использующих ваше приложение в одно и то же время, это не значит, что все они будут использовать соединение с БД (например, на холостом ходу, просмотр статических страниц, получение данных из кешей и т. Д.).
Вы не указали, какой пул подключений вы используете, но я предполагаю, что вы используете какую-либо приличную библиотеку и используете ее соответствующим образом, например, вызываете connect.close() каждый раз, когда вы закончите свой запрос, чтобы вернуть соединение с пулом ,
Если это так, то не беспокойтесь, если весь пул будет использован, следующий пользователь будет просто поставлен в очередь до тех пор, пока в пул не будет возвращено одно соединение.
Таким образом, вы можете добавить тайм-аут, чтобы обнаружить это время очереди, например, если через 5-10 секунд DriverManager.getConnection() не возвращается, предположим, что пул заполнен и перенаправляет пользователя на статическую страницу с этим сообщением.
Пожалуйста, зарегистрируйтесь это событие, поэтому, если вы знаете, когда ваш пул заполнен большую часть времени, то пришло время увеличить максимальное количество подключений.
Спасибо, Эван, ваш ответ выглядит интересным: «вы можете добавить тайм-аут, чтобы обнаружить это время очереди, например, если через 5-10 секунд DriverManager.getConnection() не возвращает перенаправление на статическую страницу. Не могли бы вы рассказать мне, как добавьте тайм-аут? – Pawan
это зависит от того, какой пул соединений вы используете? Apache DBCP? – Evan
Я мог бы упростить это. См. это [ответ] (http://stackoverflow.com/questions/1164301/how-do-i-call -some-blocking-method-with-a-timeout-in-java) как использовать исполнитель для добавления тайм-аута для метода блокировки. – Evan