Производительность DB2 jdbc - PullRequest
3 голосов
/ 24 февраля 2010

выполняя профилирование для java-приложения, работающего на websphere 7 и DB2, мы видим, что большую часть нашего времени мы проводим в пакете com.ibm.ws.rsadapter.jdbc, который обрабатывает соединения с базой данных и из нее.

  1. Как мы можем настроить производительность jdbc?

  2. Какие существуют другие стратегии, когда производительность базы данных является узким местом?

Спасибо

Ответы [ 4 ]

3 голосов
/ 24 февраля 2010

Вам следует проверить в руководстве по websphere , как настроить пул соединений.

Здесь - введение, включающее примеры кода

2 голосов
/ 25 февраля 2010

Одной из причин медленного времени соединения является деактивированная база данных, которая не открывает свои файлы и не выделяет свои буферы памяти и кучи до тех пор, пока первое приложение не попытается подключиться к ней. Попросите своего администратора базы данных подтвердить, что база данных активна перед выполнением ваших тестов. Команда LIST ACTIVE DATABASES (запускаемая с локального сервера DB2 или через удаленное вложение) должна показать вашу базу данных в ее выводе. Если база данных не активирована, пусть ваш DBA активирует ее явно с ACTIVATE DATABASE yourDBname. Это обеспечит доступность файлов базы данных и структур памяти, даже когда последний пользователь отключится от базы данных.

Используйте GET MONITOR SWITCHES, чтобы убедиться, что все ваши мониторные переключатели включены для вашей базы данных, в противном случае вы упустите некоторые потенциально раскрывающиеся сведения о производительности. Дополнительные затраты на отслеживание данных, связанных с этими переключателями монитора, минимальны, в то время как значение данных производительности является значительным.

Если база данных всегда активна, а вещи все еще кажутся медленными, существуют подробные трассировки DB2, называемые мониторами событий, которые регистрируют все, с чем они сталкиваются, в файл, канал или таблицу DB2. Монитор событий операторов - один из тех, к которому я довольно часто обращаюсь для анализа эффективности операторов SQL и гигиены UOW. Я также предпочитаю использовать дополнительное нажатие для записи записей монитора событий в таблицу, а не в файл, поэтому я могу использовать SQL для поиска данных по всем типам шаблонов. Утилита db2evtbl позволяет довольно просто определить нужный монитор событий и создать таблицы для хранения его выходных данных. Команда SET EVENT MONITOR STATE - это способ запуска и остановки созданного вами монитора событий.

1 голос
/ 25 февраля 2010

По моему опыту, то, что вы видите, довольно распространено. Вопрос, который нужно задать, заключается в том, что именно делает соединение DB2 ...

Первое, что нужно сделать, это попытаться изолировать проблему производительности до раздела веб-сайта, то есть есть ли одна часть приложения, которая видит низкую производительность, когда вы обнаружите, что можете увеличить ведение журнала трассировки, чтобы увидеть, Вы можете увидеть запрос, вызывающий проблемы.

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

Удачи!

0 голосов
/ 25 февраля 2010
  • Пул соединений
  • Кэширование
  • АБД
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...