Обращения к базе данных отчетов и транзакций
► Трассировка очередей
Поведение системных блокировок
► Трассировка RFC
Вызовы RFC функциональных модулей между инстанциями
► Трассировка буферов
Трассировка табличного буфера
В этом случае записываются все команды SQL, которые создаются действиями пользователя, вместе с продолжительностью, результатами и данными. Можно использовать ►Performance Analysis • Deactivate Trace • Display Trace (или ►Performance Analysis • Performance Trace • Display Trace or Deactivate First) сначала для фильтрации данных по различным критериям, а затем их анализа.
Рис. 15.11. Активация трассировок SQL
На рис. 15.12 показан фрагмент трассировки SQL. Например, время выполнения оператора
□ SELECT WHERE "MANDT" = 'EXP' AND "SOURCEMAND" = '001' OR "MANDT" = '001' ORDER BY "TSTAMP"
было в этом случае 59 миллисекунд (ms), поиск происходил в таблице CCC-FLOW (отслеживаемой операцией был вывод журналов копирования клиента). Продолжительность операции всегда определяется в миллисекундах. Команды, которые превышают определенное время выполнения и поэтому могут быть критическими, выделяются красным.
Рис. 15.12. Фрагмент трассировки SAL
Выберите Edit • Explain for SQL statement, чтобы вызвать план выполнения, вычисленный оптимизатором для этой команды. Выберите Goto • АВАР Display, чтобы перейти к программе АВАР, где был сгенерирован оператор SQL.
Столбцы таблицы имеют слегка отличные значения в зависимости от используемой трассировки (см. таблицу 15.4).
Таблица 15.4. Трассировка производительности
Столбец Трассировка SQL Трассировка очереди Трассировка RFC Трассировка буфера Duration Продолжительность выполнения оператора Продолжительность выполнения оператора Продолжительность выполнения оператора Продолжительность выполнения оператора Object Name Таблица или процедура БД Объект блокировки Имя инстанции Имя таблицы Operation Выполняемая в базе данных операция Операция блокировки Роль (клиент или сервер) Функция, выполняемая для объекта в буфере Records Число обработанных записей Number of granulates Тип записи Число прочитанных записей RC Возвращаемый код из РСУБД 0: Правильно 0: Правильно 0: Правильно 2: Коллизия 64: Записей не найдено 8: Внутренняя ошибка 256:Запись недоступна 1024: Загрузка буфера Statement Команда SQL Granulates Функциональный модуль сервера источника и назначения Тип буферизации Ключевое значение
Журналы базы данных
Все системы баз данных, используемые в среде SAP, записывают свои собственные файлы журналов, которые не зависят от системы SAP. Эти файлы можно вывести на уровне операционной системы или с помощью ►Database Monitor в системе R/3. Важные сообщения об ошибках, которые непосредственно влияют на систему R/3, также выводятся в системном журнале.
15.6. Записи блокировки
Система R/3 обладает своим собственным управлением блокировками, которое использует рабочие процессы обработки очередей (см. главу 1). Записи блокировки задаются активными программами и обычно удаляются, снова не требуя никакого вмешательства вручную. Однако если в системе R/3 возникают проблемы, например, если диспетчер инстанции или весь сервер приложений внезапно отказывает, могут сохраниться устаревшие записи блокировок. Поэтому необходимо ежедневно проверять записи блокировки и удалять их вручную, когда потребуется. Для этого действуйте следующим образом:
1. Используйте ►Lock Monitor для доступа к экрану при выборе выводимых записей блокировки. Можно ограничить выбор именем таблицы, аргументом блокировки, клиентом или пользователем.
2. Выберите List. Будет выведен список всех текущих блокировок системы (см. рис. 15.13).
Кроме пользователя и клиента, который задал блокировку, система также выводит время создания блокировки и задействованные таблицы. Аргумент блокировки (ключ блокировки) особенно важен. Столбец Shared указывает, будет ли блокировка использоваться несколькими пользователями. Чтобы отсортировать список по различным критериям, можно использовать Edit • Sort by.
Рис. 15.13. Записи блокировки
3. Проверьте время, когда были созданы записи блокировки. Записи блокировки, которые давно удерживаются, необходимо проанализировать. Дважды щелкните мышью на ключе блокировки записи, чтобы вывести более подробную информацию об этой записи, такую как код транзакции, которая вызвала блокировку.
4. Если для записей блокировки все еще существуют открытые запросы обновления, сначала проверьте и очистите эти транзакции обновления.
5. Проверьте, является ли пользователь, который принадлежит записи блокирования, все еще активным в системе.
Проблемы в управлении блокировками часто являются симптомами других проблем. Поэтому, если будут обнаружены устаревшие записи блокировки, необходимо сначала проверить вовлеченную в это прикладную область, которая. Если анализ покажет, что запись блокировки не нужна, то ее можно удалить, выбирая в ►Lock Monitor и вызывая затем функцию Lock Entry • Delete. Удаление записей блокировки записывается в системном журнале инстанции.
Чтобы вывести статистические данные о поведении блокировки, в частности, об использовании общей области памяти, где хранятся блокировки, выберите Extras • Statistics. Чтобы обеспечить правильную работу управления блокировками, выберите Extras • Diagnosis. Чтобы проверить взаимодействие между управлением блокировками и задачей обновления, выберите Extras • Diagnosis in Update.
15.7. Мониторинг производительности
Основой всей деятельности настройки по повышению производительности в системе R/3 является регулярный мониторинг всех соответствующих индикаторов, только часть из которых может быть автоматизирована. Опытные системные администраторы могут интерпретировать собранные значения и определить, где надо вмешаться. Интегрированный монитор сигналов является полезным инструментом. О базовых принципах и инструкциях для использования и конфигурирования см. главу 16.
В частности, системный администратор отвечает за правильную работу монитора сигналов и всех других мониторов в системе R/3.
15.7.1. Базовое администрированиеСо временем собранные данные становятся основанием для всего анализа производительности в системе R/3. На уровне операционной системы программа saposcol собирает важную информацию о производительности компонентов вне R/3. В системе R/3 программа АРАР RSCOLL00 собирает эти данные и вычисляет значения производительности для других компонентов R/3, таких как база данных и буферы R/3. Необходимо запланировать выполнение RSCOLL00 каждый час как фоновый процесс со стандартным именем SAP_COLLECTOR_FOR_PERFMONITOR. Собранные данные записываются в таблицу MONI, называемую также базой данных производительности. Чтобы сконфигурировать базу данных производительности в системах до R/3 4.6C, выберите ►Workload Analysis • Goto • Parameters • Performance Database; в 4.6D и более поздних версиях выберите ►Load Analysis • Collector • Workload Collector • Data. Дополнительными параметрами конфигурации являются:
► Длительность сохранения собранных статистических данных
► Уплотнение данных
► Правила реорганизации