В данной статье рассмотрим средство Tideways и что оно может сделать для повышения производительности ваших веб-приложений. В Tideways есть три важные функции, которые помогут вам понять производительность вашего приложения:
- Мониторинг
- Профилирование
- Отслеживание исключений
Давайте посмотрим на них по отдельности и на то, как они интегрируются друг с другом.
Мониторинг
Начнем с мониторинга. Раздел мониторинга в Tideways — это место, где вы можете получить общий обзор вашего приложения, в том числе:
Какие части приложения оказывают наибольшее влияние на производительность, сгруппированные по
- слои, такие как базы данных SQL, HTTP, Redis, как показано в этой картинке или
- конечные точки автоматически обнаруживаются Tideways, зная о наиболее распространенных PHP-фреймворках, таких как Magento, Symfony, Shopware или Laravel.
Как долго длилось внезапное снижение производительности и что его вызвало, позволяя быстро перемещаться во времени и просматривая выбранные снимки производительности.
Если развертывание вызвало снижение производительности, определим какие конечные точки замедлили работу больше всего.
Сколько запросов обслужило приложение, какая доля из них привела к ошибке вместо успешного взаимодействия, с разбивкой по отдельным кодам ошибок HTTP.
Короче говоря, вы можете быстро оценить состояние своего приложения и узнать, где и когда что-то идет не так.
Профилирование
Профилирование предоставляет информацию о продолжительности и использовании памяти отдельными функциями, запросами к базе данных и вызовами внешних служб. Вооружившись этим уровнем детализации, вы сможете глубже изучить свой проект, чтобы воспроизвести и устранить его узкие места в производительности.
Использование Profiler заменяет интуицию и обоснованные догадки фактами и обычно экономит много времени.
Tideways поддерживает два типа профайлеров:
- Временная шкала / профилировщик трассировки
- Профилировщик временной шкалы собирает информацию о ряде операций, выполняемых вашим приложением, таких как операторы SQL, HTTP-запросы, контроллеры платформы, прослушиватели событий и рендеринг шаблонов.
Эта информация отображается на временной шкале от начала запроса в 0 мс до его окончания, очень похоже на временную шкалу в обзоре производительности сети Chrome или Firefox.
- Профилировщик Callgraph
- Callgraph Profiler собирает данные о каждой функции PHP, вызываемой во время запроса. Навигация возможна либо через табличное представление всех вызовов функций, либо через визуальный график вызовов.
Таким образом, вы можете определить самые медленные вызовы функций и проверить трассировку стека, который выполняется
Детализируя результаты профилировщика, вы часто можете быть приятно удивлены, хотя, скорее всего, будете шокированы, обнаружив, что ваше приложение выполняет пути кода и классы, которые вы никогда не ожидали .
Отслеживание исключений
Когда запросы приложений полностью завершаются с непредвиденными ошибками, Profiler не является подходящим инструментом для поиска причины проблемы.
Отслеживание исключений — отслеживает детали неудачных запросов, включая сообщения об ошибках, трассировку стека и контекстную информацию. Tideways автоматически обнаруживает фатальные ошибки и исключения PHP. Подобные ошибки и исключения объединяются, чтобы вы могли понять, какая ошибка вызывает наибольшие проблемы.
Вывод
Это краткий обзор Tideways, в котором основное внимание уделяется трем основным концепциям: профилированию , мониторингу и отслеживанию исключений . Используя эти три компонента в комбинации, вы можете быстро перейти от общего обзора к низкоуровневому детальному пониманию того, в чем заключаются проблемы в вашем приложении и как их исправить. Если вам нужна помощь с поиском узких мест оптимизацией, обращайтесь [email protected]