Аспекты увеличения быстродействия «1С-Битрикс: Управление сайтом» на виртуальном хостинге Артём Рябинков 1С-Битрикс О продукте 1С-Битрикс: Управление сайтом – универсальная программная платформа для создания интернет-проектов любого класса. • CMS (система управления и публикации контента) • Многообразие модулей для решения 95% задач, связанных с интернет-проектами • Многообразие шлюзов и интерфейсов обмена с различными системами • Среда разработки нового функционала (1С-Битрикс: Framework) Новая версия 7.0 - новый уровень функциональности, удобства и производительности! Больше, чем просто CMS… Производительность в продукте • Оптимизация кода – обязательная стадия процесса разработки • Многообразие методов кэширования • внутрисистемные методы • API для разработчиков • Использование PHP5 • Грамотная настройка веб-сервера Нагрузочное тестирование (05/2007 г.) «Тяжелые» редакции (Эксперт, Бизнес): 3 600 000 хитов в сутки «Легкие» редакции: 8 000 000 хитов в сутки Реальные высоконагруженные проекты: Особенности виртуального хостинга накладывают ограничения и зачастую поведение программного кода существенно меняется. Аспекты оптимизации от 1С-Битрикс 1. Кэширование компонентов веб-страниц 2. Применение технологии AJAX 3. Режим отладки – анализ быстродействия сайта 4. Сжатие веб-страниц 5. Минимизация действий в административной панели Применяйте кэширование! 1. Автокэширование в стандартных компонентах 2. Пользовательское кэширование произвольного PHP кода 3. HTML-кэширование Автокэширование Наиболее простой способ увеличить быстродействие! Нажмите кнопку и ускорьте работу сайта в разы! Пользовательское кэширование Разработчикам! Используйте функционал классов CPageСache и CPHPCache для кэширования произвольного PHP-кода Сделайте код максимально эффективным! HTML-кэширование Самый мощный инструмент ускорения сайта в десятки и сотни раз!! Страница кэшируется целиком! • Не подключается ядро! • Нет запросов к БД! • Нет подключения PHP (вариант с NGINX) Есть ряд ограничений: - Не работает модуль веб-аналитики - Не работает ротация баннеров в модуле «Реклама» - Работает только для неавторизованного пользователя Рекомендуется использовать для сайтов или разделов сайтов с нечастыми изменениями, не использующих модули рекламы и веб-аналитики. Превосходное решение для виртуального хостинга! Используйте AJAX! AJAX стандартно поддерживается на уровне многих типовых компонентов продукта. AJAX особенно эффективен в комплексных компонентах. Не загружайте веб-сервер лишней работой! Режим отладки Найдите медленные участки сайта Сделайте выводы! Модуль компрессии Важна не только скорость генерации страниц, но также и скорость их доставки посетителю. Размер страницы напрямую влияет на скорость ее загрузки в браузер. Иногда у провайдера услуг не включена поддержка сжатия на уровне веб-сервера или PHP. Но в продукте это заменяет отдельный модуль. Ваш сайт может загружаться от 5 до 10 раз быстрее! Быстрое администрирование! К сожалению нельзя обеспечить кэширование административной панели сайта (бессмысленно). Скорость работы с ней на виртуальном хостинге оставляет желать лучшего (почему см.выше). На помощь приходит новый интерфейс версии 7.0: 1. Контекстное администрирование с публичной части 2. Быстрый переход к нужной административной странице. Кнопка «Пуск». 3. Удобное избранное и “Недавние документы” Редактируйте без отрыва от контекста Не нужно использовать админку для частых операций! Кнопка «Пуск» Быстрая навигация к любой точке администрирования! Последние документы и избранное Экономьте свое время! Еще несколько советов 1. Не забывайте скачивать исходные коды продукта (демоверсия не прекомпилируется) 2. Не забывайте включать модуль компрессии 3. Периодически проверяйте таблицы БД и оптимизируйте их штатным инструментарием продукта. 4. Разработчикам! Проверяйте и оптимизируйте собственный PHP-код, внимательно читайте документацию по API продукта. 5. Не забывайте о здравом смысле! Загружайте последние обновления Мы постоянно совершенствуем продукт и его быстродействие… Самостоятельно скачивайте и устанавливайте обновления продукта с помощью системы SiteUpdate. Заставьте свой сайт работать быстрее! Спасибо! Мои контакты: Артем Рябинков artem@1c-bitrix.ru http://www.1c-bitrix.ru (495) 775-26-18 Ваши вопросы?