Мониторинг инструкций T-SQL PREDICT с использованием расширенных событий в Службах машинного обучения SQL Server
Область применения: SQL Server 2017 (14.x) и более поздних версий Управляемый экземпляр SQL Azure
Сведения о том, как использовать расширенные события для мониторинга инструкций T-SQL PREDICT в Службах машинного обучения SQL Server, а также устранять связанные с ними неполадки.
Таблица расширенных событий
Приведенные ниже расширенные события доступны во всех версиях SQL Server, поддерживающих инструкцию T-SQL PREDICT.
name | object_type | описание |
---|---|---|
predict_function_completed | события | Встроенное разбиение времени выполнения |
predict_model_cache_hit | события | Происходит при извлечении модели из кэша моделей функции PREDICT. Используйте это событие вместе с другими событиями predict_model_cache_* для решения проблем, вызванных кэшем моделей функции PREDICT. |
predict_model_cache_insert | события | Происходит при вставке модели в кэш моделей функции PREDICT. Используйте это событие вместе с другими событиями predict_model_cache_* для решения проблем, вызванных кэшем моделей функции PREDICT. |
predict_model_cache_miss | события | Происходит, если модель не найдена в кэше моделей функции PREDICT. Если это событие возникает часто, это может указывать на то, что для SQL Server требуется больше памяти. Используйте это событие вместе с другими событиями predict_model_cache_* для решения проблем, вызванных кэшем моделей функции PREDICT. |
predict_model_cache_remove | события | Происходит при удалении модели из кэша моделей функции PREDICT. Используйте это событие вместе с другими событиями predict_model_cache_* для решения проблем, вызванных кэшем моделей функции PREDICT. |
Запрос связанных событий
Чтобы просмотреть список столбцов, возвращенных для этих событий, выполните следующий запрос в SQL Server Management Studio:
SELECT *
FROM sys.dm_xe_object_columns
WHERE object_name LIKE 'predict%'
Примеры
Для сбора сведений о производительности сеанса оценки с использованием PREDICT выполните указанные ниже действия.
- Создайте сеанс расширенных событий с помощью Management Studio или другого поддерживаемого средства.
- Добавьте в сеанс события
predict_function_completed
иpredict_model_cache_hit
. - Запустите сеанс расширенных событий.
- Выполните запрос, использующий функцию PREDICT.
В результатах проверьте следующие столбцы:
- Значение
predict_function_completed
показывает, сколько времени запрос затратил на загрузку модели и оценку. - Логическое значение
predict_model_cache_hit
указывает, использовал ли запрос кэшированную модель.
Кэш собственных моделей для оценки
Помимо событий, относящихся к функции PREDICT, для получения дополнительных сведений о кэшированной модели и использовании кэша можно использовать следующие запросы:
Просмотр кэша собственных моделей для оценки:
SELECT *
FROM sys.dm_os_memory_clerks
WHERE type = 'CACHESTORE_NATIVESCORING';
Просмотр объектов в кэше моделей:
SELECT *
FROM sys.dm_os_memory_objects
WHERE TYPE = 'MEMOBJ_NATIVESCORING';
Следующие шаги
Дополнительные сведения о расширенных событиях и о том, как отслеживать события в рамках сеанса, см. в следующих статьях: