Одной из причин медленного времени соединения является дезактивированная база данных, которая не открывает свои файлы и выделяет свои буферы памяти и кучи до тех пор, пока первое приложение не попытается подключиться к нему. Попросите своего администратора базы данных подтвердить, что база данных активна до запуска ваших тестов. Команда LIST ACTIVE DATABASES (запускается с локального сервера DB2 или через удаленное приложение) должна показывать вашу базу данных в своем выводе. Если база данных не активирована, администратор базы данных активирует ее явно с помощью ACTIVATE DATABASE yourDBname. Это гарантирует, что файлы базы данных и структуры памяти остаются доступными, даже когда последний пользователь отключается от базы данных.
Используйте GET MONITOR SWITCHES, чтобы все ваши переключатели монитора были включены для вашей базы данных, иначе вы упустите некоторые потенциально показательные характеристики производительности. Дополнительные накладные расходы на отслеживание данных, связанных с этими переключателями, минимальны, а значение данных производительности является значительным.
Если база данных всегда активна, и все по-прежнему кажется медленным, существуют подробные трассы DB2, называемые мониторами событий, которые регистрируют все, с чем они сталкиваются, в файл, трубу или таблицу DB2. Монитор событий заявления - это тот, на который я часто обращаюсь к анализу эффективности SQL-запросов и гигиены UOW. Я также предпочитаю использовать дополнительный хит для записи записей монитора событий в таблицу, а не в файл, поэтому я могу использовать SQL для поиска данных для всех видов шаблонов. Утилита db2evtbl позволяет легко определить необходимый монитор событий и создать таблицы для хранения его вывода. Команда SET EVENT MONITOR STATE - это то, как вы запускаете и останавливаете созданный монитор событий.
Спасибо за ссылки, у нас есть пул соединений, но я не знаю, как измерить на стороне DB2. – user271858