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 выше.



Copyright © 1997–2024 Art. Lebedev Studio | http://www.artlebedev.ru Дата обновления: 10.09.2024