Панель производительности: поиск "узких" мест сайта
Просмотров: 68016
Дата последнего изменения: 05.12.2024
Роберт Басыров
Сложность урока:
3 уровень - средняя сложность. Необходимо внимание и немного подумать.
1
2
3
4
5
Недоступно в лицензиях:
Ограничений нет
Поиск "узких" мест сайта
Для оценки производительности перейдите в раздел Монитор производительности (Настройки > Производительность > Панель производительности).
Нажатие кнопки Тестировать производительность позволит вам определить слабые места настройки хостинга. Важно понимать, что цифры в строке Конфигурация могут отличаться в разы при изменении нагрузки на сервер: если нагрузки нет, производительность может быть высокой, если есть – она сможет снизиться. Это связано с тем, что данные цифры показывают скорость открытия пустой страницы сайта и, естественно, зависят от общей загрузки сервера.
Проблема далеко не всегда кроется в хостинге, она может быть и в самом сайте. Модуль позволяет определить проблему и исправить её. Для этого требуется запустить тест производительности в течение некоторого времени – для
малопосещаемых проектов
Если сайт малопосещаемый, рекомендуется самому открывать различные страницы сайта для сбора статистики модуля.
– час, для посещаемых можно выбрать меньшее время. Система будет фиксировать посещения и собирать статистику о времени выполнения каждой страницы, числе SQL запросов и другие параметры.
Показатель производительности - величина, обратная времени исполнения ядра продукта (среднему на 10 измерений).
Если
Производительность = 18,66
, то публичная страница сайта с пустым шаблоном (например, версия для печати), с пустой рабочей областью будет создаваться за 1/18,66 или 0,0536 сек. Если говорить проще, то сервер сгенерирует 18 (пустых, но с подключением ядра) страниц в секунду. То есть чем выше число, тем производительнее работает сайт.
Умножив 18 (страниц в секунду) на 60 получим, что сервер может генерировать около 1080 пустых, но с подключением ядра, страниц в минуту. Так, если посещаемость ресурса составляет всего 1000 человек в день, то производительность сервера будет
на пределе
Предполагается, что эта 1000 посетителей вдруг зашла на сайт одномоментно.
. Естественно, в реальных условиях производительность будет ниже, в зависимости от "нагруженности" различных страниц сайта, нагрузки на сам сервер и других условий.
Показатель производительности не вычисляется на основе производительности файловой системы, работы базы, сессий и почты. Эти цифры нужны для того, чтобы помочь системному администратору найти узкое место (если такое есть). Величина производительности всегда обратна величине среднего времени отклика.
Что важно знать
Важно: Абсолютные цифры монитора производительности сами по себе ничего не значат. Они нужны только для того, чтобы помочь найти и решить
проблему производительности
Например, известно, что страница или раздел сайта открываются долго (несколько секунд и дольше). Тогда оценка монитора производительности покажет, что в данном случае является препятствием.
.
Если какая-то из подсистем сайта работает медленно, возможно, проблема не в самом сайте, а в конфигурации ОС или неустановленных необходимых драйверах. Это комплексная задача, которая должна решаться квалифицированным системным администратором. Можно взять мощное железо и получить низкие цифры.
При оценке производительности учтите что:
Оценка зависит от редакции продукта.
Раз мы замеряем время работы ядра, очевидно, оно будет зависеть от размера ядра. Для редакции «Бизнес» со всеми включенными модулями оценка всегда будет ниже, чем на «Старте» на том же оборудовании. Эталонная оценка в Мониторе производительности продукта делалась на редакции «Бизнес».
Результат зависит от пользовательских функций в /bitrix/php_interface/init.php.
Указанный
файлПримечание: файл init.php подключается при открытии каждой страницы сайта и служит для запуска обработчиков событий или подключения каких-либо дополнительных функций. Файл не является обязательным (т.е. его может не быть в папке /bitrix/php_interface).
подключается на каждый хит, в том числе и при работе административной части. Файл /bitrix/php_interface/init.php не должен содержать запросы к БД и любые другие ресурсоемкие операции.
Оценка будет меняться в зависимости от нагрузки.
Чем больше нагружен сервер, тем ниже будет оценка. Но даже при пиковой нагрузке она не должна опускаться ниже приемлемого уровня, чтобы можно было говорить, что сервер справляется (например, не ниже 10 единиц, т.е. 0,1 сек. на страницу).
Показатель производительности не показывает возможности масштабирования системы.
Процесс веб-сервера работает на одном ядре, а значит, когда измеряется производительность без нагрузки, число ядер процессора не влияет на результат. Другое дело под нагрузкой: многоядерная система в состоянии сохранить высокие показатели.
Для базы данных на отдельном сервере оценка производительности будет ниже.
Когда речь идет о
кластере
Кла́стер (англ. cluster - скопление, кисть, рой) - объединение нескольких однородных элементов, которое может рассматриваться как самостоятельная единица, обладающая определёнными свойствами. В рамках нашего рассказа имеется в виду кластер серверов.
, мы имеем масштабируемую систему: при увеличении нагрузки она должна сохранять хорошие показатели. Но при моментальном замере времени открытия страниц без нагрузки мы неизбежно увидим небольшое замедление за счет межсерверных коммуникаций.