Слайд 1Что клиенты просят доделать после партнеров
Евгений Потапов
ITSumma
Слайд 2Евгений Потапов
генеральный директор компании ITSumma
Круглоcуточное удаленное администрирование серверов и техническая
поддержка сайтов
100 миллионов уникальных посетителей в сутки
Штат – 50 человек
Более
тысячи серверов на поддержке
Слайд 4Содержание
Формат аудита
Проблемы уровня сервера
С какой бедой приходят клиенты
Проблемы на уровне
кода
Проблемы на уровне фронт-энда
Рекомендации для разработки и эксплуатации
Слайд 5 Формат аудита
Аудит серверного ПО, мониторинг
Перенос кодовой базы на стенд,
анализ работы кода
Фронт-энд – google page speed, базовые рекомендации
Срок: простое:
3 рабочих дня, в среднем – 5 рабочих дней, сложные случаи до 20 рабочих дней
Слайд 6Аудит серверного ПО
Мониторинг сервера на время проведения аудита
Аудит конфигурации сервера
Оценка
конфигурации, проверка работы хостинга
Слайд 7Аудит серверного ПО – типичные проблемы
Оставлен включенным XDebug – падение
индекса производительности в два раза, увеличение времени ответа в два
раза.
Отключен или заполнен прекомпилятор (рекомендуем OpCache, если версия PHP старая – APC). Apcu – не прекомпилятор (эмулятор API apc)
Софт поставлен не на Bitrix Env – низкий buffer pool/конфигурация по умолчанию в MySQL
Слайд 8Аудит серверной конфигурации – типичные проблемы
Разрушен RAID / вылетел один
из HDD
RAID в resync-е
Не хватает канала
Кроновые / бэкапные задачи
Чаще всего
тормозит не сервер, а код
Слайд 9Аудит серверной конфигурации и ПО – рекомендации
Обновить PHP до 5.6
(ждем 7.0) – особенно на высоких нагрузках – прирост в
CPU производительности до 30-40%
MySQL 5.1 точно обновить до MySQL 5.6 (лучшая работа оптимизатора, лучшая работа в условиях многоядерности). MySQL 5.5 можно оставить, но лучше обновить
Железный RAID значительно лучше программного.
Слайд 10Аудит серверной конфигурации и ПО – «хостинговый сервер»
Лучше – вообще
не делать
Разделение по виртуальным машинам – одна VM один
сайт.
Лучше – SSD-диски (при нагрузке на диске не помогут даже виртуальные машины)
Разные клиенты – разные IP
Слайд 11Аудит кодовой базы
Перенос кода на стенд (bitrix env + gnome
+ vnc + xcode)
Весь аудит с выключенным кэшом + анализ
использования кэша
Порядок анализа страниц – из монитора производительности.
Слайд 12Аудит кодовой базы
Ошибки использования API 1С-Битрикс
Фасеты не включены или не
используются (самописный фильтр)
Случайно отключено кэширование / не работает кэширование
Модификации ядра,
старые версии 1С-Битрикс
Проблемы с работой с внешними сервисами
Слайд 13Аудит кодовой базы
Ошибки использования API
Выборка свойств в цикле после GetList,
когда их можно выбрать в GetList
Сортировка и фильтрация средствами PHP
(вместо arFilter и arSort)
Обработка элементов в двойных и больше циклах
Слайд 14Аудит кодовой базы
Фасеты не включены или не используются (самописный фильтр)
При
выкладке на продакшен забыли включить фасеты
Писали свой фильтр на основе
стандартного до создания фасет
Создали фасеты, но они не сработали
Слайд 15Аудит кодовой базы
Случайно отключено кэширование / не работает кэширование
Кэширование компонента
отключено случайно, не включен CACHE_FILTER тогда когда это можно
Слишком большой
размер данных в кэше (>1мб, норма – 200кб)
Код вызывается из шаблонов, результаты не кэшируются
Слайд 16Аудит кодовой базы
Модификации ядра, старые версии 1С-Битрикс
Не специально? Зачем?
Слайд 17Аудит кодовой базы
Проблемы с работой с внешними сервисами
Долгое время ответа
сервисов
Отсутствуют таймауты – процессы apache/fpm выстраиваются в очередь, сервер перестает
отвечать без нагрузки
Блокировки сессий в пределах одного пользователя
Слайд 18Фронт-энд
Не пробовали включить CDN (помогает не всегда)
Отсутствует gzip-кодирование, при этом
модуль компрессии отключен (модуль компрессии лучше отключить)
CSS/JS вставлены напрямую, не
объединены
Не оптимизированы изображения
Слайд 19Рекомендации для разработки и эксплуатации
На этапе разработки – все страницы
проверяем с отключенным кэшом, страница должна открываться не медленнее 1с.
Стандартный
инструментарий – проверка системы и пр.
После выкладки на продакшен – перепроверка использования кэширования, времени работы страниц без кэширования
Мониторинг времени ответа страниц (акцент на увеличение времени, которое не снизилось)
Мониторинг «скорости сайта»
Слайд 20Евгений Потапов
http://itsumma.ru
eapotapov@itsumma.ru
http://facebook.com/eapotapov