07 PPTX, 762 КБ

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