Язык скриптования сайтов Parser 3

Statusrusage


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


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

Не все операционные системы умеют возвращать эти значения (WinNT/Win2000/WinXP умеет все, Win98 умеет только tv_sec и tv_usec [3.0.8]).

Ключ

Единица

Описание значения



Как уменьшить?

utime

секунда

Чистое время, затраченное текущим процессом

(не включает время, когда работали другие задачи)

Упростить манипуляции с данными внутри Parser (улучшить алгоритм, переложить часть действий на SQL-сервер)

stime

секунда

Время, сколько система читала ваши файлы, каталоги, библиотеки

Уменьшить количество и размер необходимых для работы файлов, не подключать ненужные для обработки данного документа модули

maxrss

блок

Память, занимаемая процессом

Уменьшить количество загружаемых ненужных данных.

Найти и исправить все «select * …», задав список действительно необходимых полей. Не загружать из SQL-сервера ненужные записи, отфильтровать как можно больше средствами самого SQL-сервера.

Точное системное время. Позволяет оценить траты времени на ожидание ответа от SQL-, HTTP-, SMTP-серверов.

Сколько прошло с Epoch…

Упростить SQL запросы, для MySQL воспользуйтесь EXPLAIN, см. http://www.mysql.com/doc/en/EXPLAIN.html; для Oracle: EXPLAIN PLAN, см. документацию по серверу; для других SQL-серверов: см. их документацию.

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]



…вокруг интересующего вас блока.



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

WinNT/2K/XP

Под этими OS доступен ряд дополнительных значений:



Ключ



Единица



Описание значения



Как уменьшить?



ReadOperationCount

ReadTransferCount



штук

байт



Количество операций чтения с диска и суммарное количество считанных байт



Уменьшить количество и размер необходимых для работы файлов, не подключать ненужные для обработки данного документа модули.

Больше использовать SQL-сервер, меньше файлы.



WriteOperationCount

WriteTransferCount



штука

байт



Количество операций записи на диск и суммарное количество записанных байт





OtherOperationCount

OtherTransferCount



штука

байт



Количество других операций с диском (не чтения/записи) и суммарное количество переданных байт





PeakPagefileUsage

QuotaPeakNonPagedPoolUsage

QuotaPeakPagedPoolUsage





байт



Максимальное количество памяти в файле подкачки (swap-файле)



см. комментарий к maxrss выше.


Содержание раздела