Настройка производительности - время соединения JDBC - PullRequest
1 голос
/ 06 октября 2011

Я завершаю небольшой проект и занимаюсь настройкой производительности перед первым выпуском. Это веб-приложение, поэтому оно получает только HTTP-запросы в форме XHR и запросов на загрузку страницы.

При запуске приложения источник данных извлекается с сервера Tomcat (через JNDI) и сохраняется в приложении. Это oracle.jdbc.xa.client.OracleXADataSource, и, насколько я могу судить (из того, что я читал и наблюдал), это пул соединений.

В приложении каждый запрос к серверу открывает свое собственное соединение при первом вызове SQL (если он происходит). В конце каждого запроса соединение закрывается (если оно было открыто).

Так что, как часть моей настройки производительности, я пытаюсь улучшить отзывчивость этих запросов, сокращая время, необходимое для подключения к базе данных. Что вы считаете приемлемым количеством времени для установления соединения с базой данных?

Вот мои тесты, каждый запрос -

  • 324 мс (1-й запрос сразу после перезапуска приложения)
  • 51 мс
  • 58 мс
  • 56 мс
  • 53 мс
  • 51 мс
  • 49 мс
  • 48 мс

После того, как 1-е соединение было открыто и «закрыто», похоже, что соединение объединяется и используется повторно Является ли ~ 50 мс довольно обычным временем для установления соединения из пула данных?

long start = System.nanoTime();

//oracle.jdbc.xa.client.OracleXADataSource
Connection connection = dataSource.getConnection();

log.info("Connection made in: " + ((System.nanoTime()-start)/1000000) + " ms.");

1 Ответ

1 голос
/ 06 октября 2011

Если соединения объединены в пул, это означает, что они (в основном) остаются открытыми все время, поэтому не должно быть времени ждать, пока соединение будет открыто (за исключением сценариев, когда новые соединения должны быть созданы для обработки текущего соединения).нагрузка).Рекомендую добавить commons-dbcp или c3p0 в ваш проект, чтобы гарантировать объединение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...