Знаете ли Вы, любители «всякого интересного», что если: Ваш сайт находится на хостинге TimeWeb (из списка «Рекомендованных хостингов») и если Вы включаете CDN в попытке ускорить сайт на Битрикс, то вы сделаете его только медленнее. По крайней мере так будет еще минимум 1 неделю.

По крайней мере так будет еще минимум 1 неделю.

А началось все с того, что мне захотелось оптимизировать скорость загрузки нашего собственного сайта (что в свою очередь было навеяно статьей про важность скорости загрузки сайта). Все-таки ресурс студии должен быть образцом во многих отношениях, в том числе и по скорости работы.

Большинство мер, помогающих сделать сайт быстрее, которые делают все (или почти)

  • Везде где нужен кеш — он включен;
  • Сайт многократно прогонялся по монитору производительности;
  • По совету монитора производительности были созданы пара индексов на базе данных (а еще пара была неэффективной и создана не была);
  • Включено объединение CSS/JS;
  • Включен CDN.
Поковырявшись в отладчике Google Chrome, нашел пару CSS и JS которые не объединялись с остальными файлами. Эта проблема была исправлена быстро.

Напоследок решил посмотреть что выдаст анализатор скорости загрузки сайта sitespeed.ru. А выдал он довольно интересные факты, на которые я как-то не обратил внимание находясь в отладчике Google Chrome.


Время загрузки Объем загружаемых данных
Первый заход 30.081s 4 963 kb
Повторный заход 22.657s 3 644 kb

Замечу, что при нашей скорости интернета загрузка страницы занимала не больше 3х секунд, но не у всех такой быстрый интернет.

Проблему с загружаемыми данными при первом заходе победить несложно — больше всего занимала графика в слайдере. Сжали картинки посильнее и получили выигрыш почти в 2 мегабайта. Дополнительно создали сжатые (.gz) копии сторонних шрифтов.

А вот вторая проблема большого объема скачиваемых при повторном заходе данных — это уже совсем другое. Действительно, если посмотреть в Google Chrome — при повторном открытии картинки с CDN браузер не кешировал ее, а каждый раз скачивал заново.

Ошибка в кэше браузера

При выключенном CDN — все кешировалось.

Ускорение сайта через настройку кэша на хостинге

Как может помочь хостинг

Далее следуют почти 2 недели переписок с поддержкой 1С-Битрикс и TimeWeb. Как они играли мной в пин-понг пожалуй опущу. В результате всех терок выяснилось следующее:

  1. CDN при забирании статики с вашего сайта запоминает отдаваемые сервером заголовки ответов и при отдаче файла с обратно заголовки в точности повторяет;
  2. сервер ТаймВеба отдавал для картинок 2 неверных заголовка;
  3. браузер при получении файлов с 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
Внимательный читатель спросит меня, а как же к названию поста относится все что я написал? А очень просто:
  1. Поддержка TimeWeb пообещала удалить неверный заголовок Last-Modified на всех своих серверах.
    «Мы внесли сейчас изменения и подождем неделю, если проблем не возникнет, изменение внесем полностью.»— TimeWeb.
  2. Поддержка TimeWeb пообещала удалить неверный заголовок Last-Modified на всех своих серверах.
    «Сейчас эта конфигурация только для вашего сайта. Но мы проанализируем текущую конфигурацию nginx на всех серверах на счет подобных изменений заголовков.» — TimeWeb.
Получается что все сайты, которые лежат на TimeWeb и включили функцию CDN скоро получат такую работу системы, какой она должна быть — с кешированием картинок.

Для тех, кто не хочет ждать, алгоритм действий следующий:
  1. Просим поддержку TimeWeb удалить Last-Modified.
  2. Когда это сделано, проверяем не появился ли заголовок Cache-Control: no-cache и просим удалить его если появился.
  3. Обновляем дату модификации всех статических файлов на сайте (выполняем в консоли команду find. -exec touch {} \; находясь в папках /upload/ и папке шаблона сайта).
Как мы в очередной раз убедились у TimeWeb адекватная служба поддержки, которая признает ошибки и исправляет их (а ошибки делают все люди). Поэтому не стесняйтесь к ним обращаться.

Ну и напоследок я провел тест с выключенным CDN.

Время загрузки Объем загружаемых данных
Первый заход 13.757s 2 174 kb
Повторный заход 2.585s 37 kb

Здесь меня ждал неожиданный результат — время загрузки и загруженные данные при повторном открытии уменьшились!!! Как так?

Объяснение этому чуду было следующее: на CDN не отправляются сжатые (.gz) копии стилей/скриптов/шрифтов. А жмутся через gzip они очень хорошо.

Какой вывод мы сделали

Следить за размером ваших страниц и файлов нужно — само все хорошо не будет.

К чему пришли:

  • починили кеширование картинок с CDN на TimeWeb;
  • отказались от использования CDN до тех пор пока туда не будут отправляться сжатые копии статических файлов (На основе информации из данного обращения была создана заявка в отдел разработок. Номер обращения: 40808.).

Оцените статью
05.07.2013
Понравилась статья?
Поделитесь ссылкой с друзьями и коллегами!

Статьи по теме

08.09.2023
Перезапуск B2B-платформы Levenhuk вместе со студией Артемия Лебедева: контролируемое творчество и чек-лист из 60 пунктовСтатья о том, как бывает сложно идти вразрез со стереотипами и делать необычный B2B-дизайн. Все рецепты внутри. Основной ингредиент – чек-лист контроля дизайнер...
06.09.2023
Интеграция аптечной сети с «ВкусВилл»: доставляем комбинированный заказ менее, чем за 2 часаВ статье расскажем подробности о размещении ассортимента сети аптек в товарной матрице ВкусВилл для увеличения продаж и решения задачи доставки онлайн-заказов ...
05.09.2023
Как создать бизнес по доставке продуктов, имея под рукой 1С, Битрикс и логистическую системуРассказываем как можно организовать доставку продуктов из магазинов не занимаясь разработкой системы с нуля, а интегрируя различные типовые приложения, например...
26.07.2023
Автоматизация продаж дистрибьютора спецтехники из Китая: как обеспечить рост продаж в 7 раз? Рынок спецтехники РФ переживает сегодня сложный период из-за ухода многих зарубежных компаний. Остро встает вопрос импортозамещения и обеспечения уже купле...
09.06.2023
Новая функция B2B-платформы — вывод второй колонки цен в каталоге На связи Екатерина Богаченкова — аналитик, специалист по продвижению компании ИНТЕРВОЛГА и сегодня я расскажу о новой доработке нашей B2B-платформы, котора...
27.05.2023
Как увеличить продажи в интернет-аптеке: что мы сделали, чтобы клиент выкупал в 5 раз больше заказов Семантическое ядро разработано, страницы оптимизированы, сегменты собраны и на них запущена реклама с ретаргетингом и учетом ограничений закона о рекламе, ...
Мы работаем по одному из двух форматов:
  • аренда команды (от 2 человек, не менее 3 месяцев);
  • итерации с фиксированной ценой (1-3 месяца длительностью).
ИНТЕРВОЛГА предоставляет:
  • регулярные онлайн-планерки с заказчиком;
  • квалифицированных специалистов;
  • организованную команду (находятся в одном помещении, что упрощает решение рабочих вопросов);
  • полную прозрачность и регулярность отчетов о результатах.
Для доработок и развития мы предлагаем формат 100 часов в месяц. Что можно сделать за это время:
  • новые нетиповые страницы или раздел;
  • 2 отчета с индивидуальными настройками;
  • 3-5 веб-сервисов интеграции;
  • замудренный калькулятор и т.п.

Поддержка «чтобы все работало как часы» стоит 45 тысяч рублей в месяц и описана тут.

Хочешь получать лучшие статьи от INTERVOLGA раз в месяц?
Подпишись на рассылку — спамить не будем