Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемКонстантин Шпаков
1 Как улучшить производительность проекта за три шага Шаромов Денис руководитель отдела техподдержки
2 Основные положения Проблема должна быть обозначена (сайт падает, долго открывается страница и т.д.) Цель – измерима (предотвратить падения сайта, уменьшить время работы страницы с 1 сек. до 0.1 сек., разгрузить диск со 100% до 50%) Не должно быть оптимизации ради процесса (нельзя просто "что-то" сделать и "что-то" ускорить)
3 Перед началом работы Устранить явные ошибки конфигурации Монитор производительности: Настройки PHP Монитор производительности: Сервер БД
4 Шаг 0: отладка шаблона Создать «нулевую страницу» и убедиться, что в шаблоне сайта все компоненты закешированы, нет лишних запросов и долгих операций
5 Методика работы Шаг 1 находим раздел или страницу, которые создают проблему Шаг 2 выясняем, что является проблемой: компонент, sql, код Шаг 3 устраняем проблему
6 Шаг первый: Где? Если проблема наблюдается стабильно Включаем режим отладки
7 Шаг первый: Где? Если проблема наблюдается стабильно Смотрим статистику по нагрузке страниц
8 Шаг первый: Где? Если нет возможности включить монитор
9 Шаг первый: Где? Если нет возможности включить монитор Фиксировать время работы страницы в текстовый файл Производительность сайта в картинках Производительность сайта в картинках Включить регистрацию времени исполнения страниц в лог Apache (параметр %T) Подключить модуль xhprof для php Отладка сложных веб-приложений Отладка сложных веб-приложений
10 Шаг второй: Что? Ответом будет компонент, SQL запрос или фрагмент кода
11 Шаг второй: Что? Переходим в режим отладки
12 Шаг второй: Что? Анализируем время исполнения страницы
13 Шаг третий: Что делать? Проверить, включен ли кеш Оптимизировать таблицы базы данных Пробовать перевести таблицы в InnoDB и наоборот через монитор производительности Создать индексы через монитор производительности Проверить компонент: считать число элементов, учитывать права доступа, дату активности Перенести свойства инфоблока в отдельные таблицы и наоборот
14 Шаг третий: Что делать? Использовать в фильтрах ID свойств вместо символьного кода Сократить число фильтруемых свойств Избегать выборки большого числа данных с сортировкой Все долгие операции (импорт/экспорт, работа с внешними сервисами по http) выносить на агенты и выполнять на cron EXPLAIN и профайлер MySQL Xdebug (трассировка и профайлинг), xhprof
15 Алгоритм работы Шаг 1 Шаг 2 Шаг 3 Цель достигнута? нет конец да начало
16 Спасибо за внимание! Вопросы? Шаромов Денис Skype: denis_call
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.