Влияние на производительность базы _Connect-CacheInfo

Обсуждение вопросов по администрированию СУБД Progress OpenEdge
Аватара пользователя
dmikai
Старожил
Сообщения: 517
Зарегистрирован: 20 сен 2006, 23:19
Откуда: Рига, Латвия
Контактная информация:

Влияние на производительность базы _Connect-CacheInfo

Сообщение dmikai » 02 май 2017, 13:17

Добрый день

А есть ли у кого опыт использования _Connect._Connect-CacheInfo информации?
Влияет ли задействование этого механизма на производительность базы данных?

Описание здесь http://knowledgebase.progress.com/articles/Article/P145378

Аватара пользователя
George
Старожил
Сообщения: 2871
Зарегистрирован: 12 май 2004, 17:03
Откуда: Питер

Re: Влияние на производительность базы _Connect-CacheInfo

Сообщение George » 03 май 2017, 10:17

Принято считать, что включение CacheInfo лишь незначительно влияет на производительность. По крайней мере жалоб при включении этой опции в рабочем окружении не было. Но мониторинг статистики показывает увеличение Semaphore latch waits из-за резкого увеличения активности USR латча. Отключение statement cache не возвращает активность USR латча в исходное состояние (IMHO, это баг). Для удаленных клиентов включение statement cache приводит к некоторому увеличение сетевого трафика, но на фоне запросов, возвращающих достаточно большое число записей, объемом дополнительной информации от statement cache можно пренебречь.

В целях гарантированной минимизации влияния statement cache на производительность я рекомендую использовать только _Connect-CachingType = 3: (one-time). Задал это значение, выждал некоторое время, посмотрел, что сессия делала после изменения CachingType, и, если надо, снова задай CachingType = 3. Значения 1 (single) и 2 (stack) заставляют процесс "писать отчет" о своей работе при каждом обращении к базе, возможно тысячу раз в секунду. Вы же не будете читать эти "отчеты" так же часто? Т.е. не стоит уподобляться боссам, которые требует от своих подчиненных подробнейших отчетов об их активности в рабочее время.

Аватара пользователя
George
Старожил
Сообщения: 2871
Зарегистрирован: 12 май 2004, 17:03
Откуда: Питер

Re: Влияние на производительность базы _Connect-CacheInfo

Сообщение George » 03 май 2017, 11:07

Еще один момент (еще один баг): перед включением statement cache стоит в promon'е задать для хранения временных .cst файлов каталог с правами, позволяющими писать и читать любым процессам:
promon/R&D/1/18/8. Specify Directory for Statement Cache Files

В противном случае эти файлы будут создаваться в домашнем каталоге ($HOME) каждой сессии. Любая сессия, которая читает записи в таблице _Connect, будет пытаться прочитать файлы сессий, связанных с этими записями. Если у нашей сессии, читающей _Connect, не будет прав читать из домашнего каталога какой-либо из чужих сессий, то она повиснет, удерживая ресурс, который называется STCA. За ней повиснут и другие сессии, которым понадобится тот же ресурс.

Defect OE00237502 / PSC00258643
http://knowledgebase.progress.com/artic ... /000040544

Аватара пользователя
dmikai
Старожил
Сообщения: 517
Зарегистрирован: 20 сен 2006, 23:19
Откуда: Рига, Латвия
Контактная информация:

Re: Влияние на производительность базы _Connect-CacheInfo

Сообщение dmikai » 07 май 2017, 22:32

Спасибо большое
Буду эксперементировать

Аватара пользователя
dmikai
Старожил
Сообщения: 517
Зарегистрирован: 20 сен 2006, 23:19
Откуда: Рига, Латвия
Контактная информация:

Re: Влияние на производительность базы _Connect-CacheInfo

Сообщение dmikai » 11 май 2017, 19:05

George писал(а): Задал это значение, выждал некоторое время, посмотрел, что сессия делала после изменения CachingType, и...

А сколько ждать нужно?
У меня некоторые сессии сразу отвечают, а некоторые - вообще не заполняют нужную информацию.
В какой момент работы сессия обрабатывает запрос?

Аватара пользователя
George
Старожил
Сообщения: 2871
Зарегистрирован: 12 май 2004, 17:03
Откуда: Питер

Re: Влияние на производительность базы _Connect-CacheInfo

Сообщение George » 16 май 2017, 17:40

Сессия не обновляет statement cache только ради самого обновления. Информация обновляется когда сессия делает запрос к базе. Statement cache просто дополняет информацию о запросе. Если сессия неактивна и не делает новых запросов, то информация в statement cache обновляться не будет.

Аватара пользователя
dmikai
Старожил
Сообщения: 517
Зарегистрирован: 20 сен 2006, 23:19
Откуда: Рига, Латвия
Контактная информация:

Re: Влияние на производительность базы _Connect-CacheInfo

Сообщение dmikai » 17 май 2017, 10:48

Спасибо большое