Как ускорить сайт на Битрикс при помощи хостинга (сначала свой, а заодно и сотни других)
- Большинство мер, помогающих сделать сайт быстрее, которые делают все (или почти)
- Как может помочь хостинг
- Какой вывод мы сделали
По крайней мере так будет еще минимум 1 неделю.
А началось все с того, что мне захотелось оптимизировать скорость загрузки нашего собственного сайта (что в свою очередь было навеяно статьей про важность скорости загрузки сайта). Все-таки ресурс студии должен быть образцом во многих отношениях, в том числе и по скорости работы.
Большинство мер, помогающих сделать сайт быстрее, которые делают все (или почти)
- Везде где нужен кеш — он включен;
- Сайт многократно прогонялся по монитору производительности;
- По совету монитора производительности были созданы пара индексов на базе данных (а еще пара была неэффективной и создана не была);
- Включено объединение CSS/JS;
- Включен CDN.
Напоследок решил посмотреть что выдаст анализатор скорости загрузки сайта sitespeed.ru. А выдал он довольно интересные факты, на которые я как-то не обратил внимание находясь в отладчике Google Chrome.
|
Время загрузки | Объем загружаемых данных |
Первый заход | 30.081s | 4 963 kb |
Повторный заход | 22.657s | 3 644 kb |
Замечу, что при нашей скорости интернета загрузка страницы занимала не больше 3х секунд, но не у всех такой быстрый интернет.
Проблему с загружаемыми данными при первом заходе победить несложно — больше всего занимала графика в слайдере. Сжали картинки посильнее и получили выигрыш почти в 2 мегабайта. Дополнительно создали сжатые (.gz) копии сторонних шрифтов.
А вот вторая проблема большого объема скачиваемых при повторном заходе данных — это уже совсем другое. Действительно, если посмотреть в Google Chrome — при повторном открытии картинки с CDN браузер не кешировал ее, а каждый раз скачивал заново.
При выключенном CDN — все кешировалось.
Как может помочь хостинг
Далее следуют почти 2 недели переписок с поддержкой 1С-Битрикс и TimeWeb. Как они играли мной в пин-понг пожалуй опущу. В результате всех терок выяснилось следующее:
- CDN при забирании статики с вашего сайта запоминает отдаваемые сервером заголовки ответов и при отдаче файла с обратно заголовки в точности повторяет;
- сервер ТаймВеба отдавал для картинок 2 неверных заголовка;
- браузер при получении файлов с CDN почему-то фиксировал эти заголовки и т. к. они были неправильные — не кешировал файлы.
- Last-Modified: Thu, 20 Jun 2013 09:51:24 GMT;
- Last-Modified: 1371725085 (дубль с неправильным синтаксисом).
- Cache-Control: no-cache.
После этого мы обновили дату изменения всех файлов в папке /upload/ и /bitrix/templates/наш_шаблон_сайта/ и о чудо! Картинки с CDN стали кешироваться.
Описанные меры (сжатие картинок и кеш статики браузером при получении с CDN) позволило прийти к следующим результатам (по данным все того же sitespeed.ru):
|
Время загрузки | Объем загружаемых данных |
Первый заход | 13.998s | 2 267 kb |
Повторный заход | 8.97s | 1 362 kb |
- Поддержка TimeWeb пообещала удалить неверный заголовок Last-Modified на всех своих серверах.
«Мы внесли сейчас изменения и подождем неделю, если проблем не возникнет, изменение внесем полностью.»— TimeWeb. - Поддержка TimeWeb пообещала удалить неверный заголовок Last-Modified на всех своих серверах.
«Сейчас эта конфигурация только для вашего сайта. Но мы проанализируем текущую конфигурацию nginx на всех серверах на счет подобных изменений заголовков.» — TimeWeb.
Для тех, кто не хочет ждать, алгоритм действий следующий:
- Просим поддержку TimeWeb удалить Last-Modified.
- Когда это сделано, проверяем не появился ли заголовок Cache-Control: no-cache и просим удалить его если появился.
- Обновляем дату модификации всех статических файлов на сайте (выполняем в консоли команду find. -exec touch {} \; находясь в папках /upload/ и папке шаблона сайта).
Ну и напоследок я провел тест с выключенным CDN.
|
Время загрузки | Объем загружаемых данных |
Первый заход | 13.757s | 2 174 kb |
Повторный заход | 2.585s | 37 kb |
Здесь меня ждал неожиданный результат — время загрузки и загруженные данные при повторном открытии уменьшились!!! Как так?
Объяснение этому чуду было следующее: на CDN не отправляются сжатые (.gz) копии стилей/скриптов/шрифтов. А жмутся через gzip они очень хорошо.
Какой вывод мы сделали
Следить за размером ваших страниц и файлов нужно — само все хорошо не будет.К чему пришли:
- починили кеширование картинок с CDN на TimeWeb;
- отказались от использования CDN до тех пор пока туда не будут отправляться сжатые копии статических файлов (На основе информации из данного обращения была создана заявка в отдел разработок. Номер обращения: 40808.).
Оцените статью
05.07.2013
Понравилась статья?
Поделитесь ссылкой с друзьями и коллегами!
Статьи по теме
Мы работаем по одному из двух форматов:
- аренда команды (от 2 человек, не менее 3 месяцев);
- итерации с фиксированной ценой (1-3 месяца длительностью).
ИНТЕРВОЛГА предоставляет:
- регулярные онлайн-планерки с заказчиком;
- квалифицированных специалистов;
- организованную команду (находятся в одном помещении, что упрощает решение рабочих вопросов);
- полную прозрачность и регулярность отчетов о результатах.
Ключевые услуги:
- нагруженный интернет-магазин;
- личный кабинет;
- оптовые продажи — B2B-платформа;
- маркетплейс;
- технический аудит сайта;
- Битрикс24 — корпоративные HR-порталы;
- Битрикс24 — построение CRM-системы;
- Битрикс24 — личные кабинеты сотрудников;
- Битрикс24 — аудит портала;
- 1С — интеграция с другими системами;
- 1С — доработка системы;
- маркетинг — комплексное интернет-продвижение;
- маркетинг — продвижение для B2B.
Хотите получать лучшие статьи от INTERVOLGA раз в месяц?
Подпишитесь на рассылку — спамить не будем