RU/Resource:Performancebrowser

From Multi Theft Auto: Wiki

Вступление

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, чтобы просмотреть тайминговую информацию для каждого из ресурсов:

Perfbrow-lua-time.png


По умолчанию имеются 3 блока колонок, каждый из которых отвечает за свой промежуток времени. На картинке ниже блок A отвечает за замеры, сделанные в последние 5 секунд, блок B - в последние 60 секунд, а блок C - за последние 300 секунд (5 минут).

Perfbrow-lua-time-abc.png


Каждый блок имеет следующие колонки:

  • name - Имя ресурса
  • cpu - Количество затраченного CPU (процессором) времени в %
  • time - То же, но в секундах
  • calls - Число вызовов функции
  • avg - Среднее затраченное на функцию время
  • max - Максимальное затраченное на функцию время

Заметка: Чтобы не захламлять место на дисплее, все, что ниже 0.01% от времени CPU не отображается.

Опции

Исользуйте опцию d для отображения таймингов определенных событий и функций ресурса. Если имя функции не может быть определено, будет отображен знак @ со следующим за ним именем файла и номером строки, где функция начинается. Благодаря этому, вы с легкостью сможете установить ффункцию, взглянув на исходный файл-скрипт.

Используйте опции 5, 60, 300 и 3600 для выбора промежутка, в котором будут совершаться замеры. Например, строка-опция 5,60,300,3600 покажет 4 периода замеров. (Если периодов замера не выбрано, будут использованы 5,60,300, установленные по умолчанию.)

Perfbrow-lua-time-d-admin.png


Используйте настройку Filter для просмотра меньшего диапазона ресурсов.


Память Lua

Выберите Lua memory из выпадающего списка Category, чтобы посмотреть расход памяти каждым из Lua ресурсов:

Perfbrow-lua-mem.png


Колонки:

  • name - Имя ресурса
  • change - Изменение в количестве используемой памяти со времени последнего обновления
  • current - Количество памяти, используемое ресурсом в данный момент
  • max - Наибольшее количество памяти, когда либо использованное ресурсом
  • XMLFiles - Число открытых XML-файлов
  • refs - Число callback-функций
  • Timers - Число активных таймеров
  • Elements - Число элементов
  • TextDisplays - Число Text Displays
  • TextItems - Число Text Items

Опции

Используйте опцию a, чтобы увидеть более детальный график использования памяти. Заметка: Она будет использовать Lua garbage collector перед каждым обновлением, который может слегка понизить производительность вашего сервера.

Используйте настройку Filter для просмотра меньшего диапазона ресурсов:

Perfbrow-lua-mem-race.png


Lib память

Выберите Lib memory из выпадающего списка Category, чтобы установить расход памяти соответственными библиотеками (.dll или .so)
Заметка: Эта информация будет доступной только при условии, что библиотека была скомпилирована с WITH_ALLOC_TRACKING, установленным на 1

Perfbrow-lib-mem.png


Колонки:

  • name - Имя библиотеки
  • change - Изменение в количестве используемой памяти со времени последнего обновления
  • current - Количество памяти, используемой библиотекой в данный момент
  • max - Наибольшее количество памяти, когда либо использованное библиотекой

Опции

Используйте опцию i для показа более детальной информации:

Perfbrow-lib-mem-i.png