Проверка нагрузки ресурсов MTA сервера с помощью performancebrowser
Содержание
Вступление
Performance browser (браузер быстродействия) используется для отслеживания быстродействия ресурсов сервера MTA.
Он показывает, какие у каждого из ресурсов потребление CPU, расход памяти. Это полезно для выявления ресурсов, которые медленно работают и нагружают сервер в целом.
Веб-доступ (через web браузер)
Для разрешения доступа к веб-интерфейсу performance browser добавьте ACL-группу, включающую следующие права resource.performancebrowser.http и resource.ajax.http.
Сейчас ACL сервера по умолчанию идет с группами "DevGroup" и "DevACL", созданными имено с этой целью.
Если на вашем сервере их нет, добавьте их в 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 и сейчас входит в перечень официальных ресурсов для сервера.
Если у вас его нет, то обновите стандартные ресурсы:
В разделе "Плагины" найдите "RESOURCES UPDATER" и нажмите "Установить".
Тайминги Lua
Выберите Lua timings из выпадающего меню Category, чтобы просмотреть тайминговую информацию для каждого из ресурсов:
По умолчанию имеются 3 блока колонок, каждый из которых отвечает за свой промежуток времени.
На картинке ниже блок A отвечает за замеры, сделанные за последние 5 секунд, блок B - за последние 60 секунд, а блок C - за последние 300 секунд (5 минут).
Каждый блок имеет следующие колонки:
- name - Название ресурса
- cpu - Количество затраченного CPU (процессором) времени в %
- time - Количество затраченного CPU (процессором) времени в секундах
- 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 - Наибольшее количество памяти, когда либо использованное библиотекой