RU/Resource:Performancebrowser
Contents
Вступление
Performance browser (браузер быстродействия) используется для отслеживания быстродействия ресурсов сервера. А именно, он показывает, какие у каждого из ресурсов потребление CPU, расход памяти. Это полезно для выявления ресурсов, которые медленно работают, или установления нехватки памяти.
Веб-доступ
Для разрешения доступа к веб-интерфейсу performance browser добавьте ACL-группу, включающую следующие права 'resource.performancebrowser.http' и 'resource.ajax.http'. Сейчас ACL сервера по умолчанию идет с группами "DevGroup" и "DevACL", созданными имено с этой целью. Если кажется, что в ACL вашего сервера их нет, вот отрывок из acl.xml:
<group name="DevGroup"> <acl name="DevACL"/> </group> <acl name="DevACL"> <right name="resource.performancebrowser.http" access="true"></right> <right name="resource.ajax.http" access="true"></right> </acl>
Затем все, что вам нужно будет сделать, это добавить пользователей в "DevGroup" и использовать следующий URL в браузере: http://IP_СЕРВЕРА:HTTP_ПОРТ/performancebrowser/
Внутриигровой доступ
Имеется в том числе и внутриигровая версия браузера быстродействия, которая называется 'ipb' и сейчас входит в перечень официальных ресурсов для сервера. Если у вас его нет, его можно найти в zip-архиве с новейшими ресурсами: https://mirror.mtasa.com/mtasa/resources/
Тайминги Lua
Выберите Lua timings из выпадающего меню Category, чтобы просмотреть тайминговую информацию для каждого из ресурсов:
По умолчанию имеются 3 блока колонок, каждый из которых отвечает за свой промежуток времени. На картинке ниже блок A отвечает за замеры, сделанные в последние 5 секунд, блок B - в последние 60 секунд, а блок C - за последние 300 секунд (5 минут).
Каждый блок имеет следующие колонки:
- name - Имя ресурса
- cpu - Количество затраченного CPU (процессором) времени в %
- time - То же, но в секундах
- calls - Число вызовов функции
- avg - Среднее затраченное на функцию время
- max - Максимальное затраченное на функцию время
Заметка: Чтобы не захламлять место на дисплее, все, что ниже 0.01% от времени CPU не отображается.
Опции
Исользуйте опцию d для отображения таймингов определенных событий и функций ресурса. Если имя функции не может быть определено, будет отображен знак @ со следующим за ним именем файла и номером строки, где функция начинается. Благодаря этому, вы с легкостью сможете установить ффункцию, взглянув на исходный файл-скрипт.
Используйте опции 5, 60, 300 и 3600 для выбора промежутка, в котором будут совершаться замеры. Например, строка-опция 5,60,300,3600 покажет 4 периода замеров. (Если периодов замера не выбрано, будут использованы 5,60,300, установленные по умолчанию.)
Используйте настройку Filter для просмотра меньшего диапазона ресурсов.
Память Lua
Выберите Lua memory из выпадающего списка Category, чтобы посмотреть расход памяти каждым из Lua ресурсов:
Колонки:
- name - Имя ресурса
- change - Изменение в количестве используемой памяти со времени последнего обновления
- current - Количество памяти, используемое ресурсом в данный момент
- max - Наибольшее количество памяти, когда либо использованное ресурсом
- XMLFiles - Число открытых XML-файлов
- refs - Число callback-функций
- Timers - Число активных таймеров
- Elements - Число элементов
- TextDisplays - Число Text Displays
- TextItems - Число Text Items
Опции
Используйте опцию a, чтобы увидеть более детальный график использования памяти. Заметка: Она будет использовать Lua garbage collector перед каждым обновлением, который может слегка понизить производительность вашего сервера.
Используйте настройку Filter для просмотра меньшего диапазона ресурсов:
Lib память
Выберите Lib memory из выпадающего списка Category, чтобы установить расход памяти соответственными библиотеками (.dll или .so)
Заметка: Эта информация будет доступной только при условии, что библиотека была скомпилирована с WITH_ALLOC_TRACKING, установленным на 1
Колонки:
- name - Имя библиотеки
- change - Изменение в количестве используемой памяти со времени последнего обновления
- current - Количество памяти, используемой библиотекой в данный момент
- max - Наибольшее количество памяти, когда либо использованное библиотекой
Опции
Используйте опцию i для показа более детальной информации: