3/5 - (2 голоса)

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

  1. Мониторинг
  2. Профилирование
  3. Отслеживание исключений

Давайте посмотрим на них по отдельности и на то, как они интегрируются друг с другом.

Мониторинг

Начнем с мониторинга. Раздел мониторинга в Tideways — это место, где вы можете получить общий обзор вашего приложения, в том числе:
Какие части приложения оказывают наибольшее влияние на производительность, сгруппированные по

  1. слои, такие как базы данных SQL, HTTP, Redis, как показано в этой картинке или
  2. конечные точки автоматически обнаруживаются Tideways, зная о наиболее распространенных PHP-фреймворках, таких как Magento, Symfony, Shopware или Laravel.

мониторинг производительности приложения

Как долго длилось внезапное снижение производительности и что его вызвало, позволяя быстро перемещаться во времени и просматривая выбранные снимки производительности.

отслеживание производительности приложения

Если развертывание вызвало снижение производительности, определим какие конечные точки замедлили работу больше всего.

скорость загрузки приложения

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

Короче говоря, вы можете быстро оценить состояние своего приложения и узнать, где и когда что-то идет не так.

Профилирование

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

Использование Profiler заменяет интуицию и обоснованные догадки фактами и обычно экономит много времени.

Tideways поддерживает два типа профайлеров:

Временная шкала / профилировщик трассировки
Профилировщик временной шкалы собирает информацию о ряде операций, выполняемых вашим приложением, таких как операторы SQL, HTTP-запросы, контроллеры платформы, прослушиватели событий и рендеринг шаблонов.

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

профилирование приложения

Профилировщик Callgraph
Callgraph Profiler собирает данные о каждой функции PHP, вызываемой во время запроса. Навигация возможна либо через табличное представление всех вызовов функций, либо через визуальный график вызовов.

почему тормозит приложение

Таким образом, вы можете определить самые медленные вызовы функций и проверить трассировку стека, который выполняется

оптимизация приложения

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

Отслеживание исключений

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

поиск причин ошибок в приложении

Отслеживание исключений — отслеживает детали неудачных запросов, включая сообщения об ошибках, трассировку стека и контекстную информацию. Tideways автоматически обнаруживает фатальные ошибки и исключения PHP. Подобные ошибки и исключения объединяются, чтобы вы могли понять, какая ошибка вызывает наибольшие проблемы.

Вывод

Это краткий обзор Tideways, в котором основное внимание уделяется трем основным концепциям: профилированию , мониторингу и отслеживанию исключений . Используя эти три компонента в комбинации, вы можете быстро перейти от общего обзора к низкоуровневому детальному пониманию того, в чем заключаются проблемы в вашем приложении и как их исправить. Если вам нужна помощь с поиском узких мест оптимизацией, обращайтесь [email protected]