status Alt ←

Поле rusage

Информация о затраченных ресурсах.

$status:rusage

Хеш с информацией о ресурсах сервера, затраченных на данный момент системой на обработку Parser-скрипта. Точность измерения времени в микросекундах зависит от используемой операционной системы.

Ключ Единица Описание значения Как уменьшить?
utime секунды Чистое время, затраченное текущим процессом (не включает время выполнения других задач) Упростить манипуляции с данными внутри Parser (улучшить алгоритм, переложить часть действий на SQL-сервер).
stime секунды Время считывания системой пользовательских файлов, каталогов и библиотек Уменьшить количество и размер необходимых для работы файлов, не подключать ненужные для обработки данного документа модули.
maxrss блок Память, занимаемая процессом Уменьшить количество загружаемых ненужных данных.
Найти и исправить все select * …, задав список действительно необходимых полей.
Не загружать из SQL-сервера ненужные записи, отфильтровать как можно больше средствами самого SQL-сервера.
Упростить SQL-запросы, воспользовавшись оператором EXPLAIN; для Oracle — EXPLAIN PLAN (см. документацию по серверу); для других SQL-серверов — см. их документацию.
Точное системное время (позволяет оценить временные затраты на ожидание ответа от SQL-, HTTP-, SMTP-серверов) Сколько прошло с Epoch…
tv_sec секунды …целых секунд
tv_usec микросекунды (10E-6) …еще прошло микросекунд (миллионных долей секунды)

Рекомендуемый способ анализа

С помощью временного добавления в конец скрипта вызова

^rusage[total]

представленного ниже метода

@rusage[comment][v;now;prefix;message;line;usec]
$v[$status:rusage]
$now[^date::now[]]
$usec(^v.tv_usec.double[])
$prefix[[^now.sql-string[].^usec.format[%06.0f]]	$env:REMOTE_ADDR:	$comment]
$message[$v.utime	$v.stime	$request:uri]
$line[$prefix	$message^#0A]
^line.save[append;/rusage.log]
$result[]

формируется журнал, который зафиксирует потребление ресурсов.

Для более точного анализа следует добавить вызовы

^rusage[before XXX]
^rusage[after XXX]

до и после интересующего участка кода.

Для записи журнала не рекомендуется использовать веб-пространство.

Windows

Под ОС семейства Windows доступен ряд дополнительных значений:

Ключ Единицы Описание значения Как уменьшить
ReadOperationCount ReadTransferCount штук, байт Количество операций чтения с диска и суммарное количество считанных байтов
Уменьшить количество и размер файлов, необходимых для работы, не подключать ненужные для обработки данного документа модули.
Больше использовать SQL-сервер, меньше — файлы.
WriteOperationCount WriteTransferCount штука, байт Количество операций записи на диск и суммарное количество записанных байтов
OtherOperationCount OtherTransferCount штука, байт Количество других операций с диском (не чтения / записи) и суммарное количество переданных байтов
PeakPagefileUsage QuotaPeakNonPagedPoolUsage QuotaPeakPagedPoolUsage байт Максимальное количество памяти в файле подкачки (swap-файле) См. комментарий к ключу maxrss выше.