Справочная информация >> Статьи о хостинге >> Медленная загрузка сайта


Почему мой сайт работает медленно и что делать

Когда появляются проблемы с работой сайта – это не беда. Данная статья поможет найти решение для многих неполадок подобного рода.

Для загрузки страниц сайта требуется некоторое количество времени. Средним временем загрузки страницы на быстром хостинге считается 1-2 секунды. Но, как мы описываем в данной статье, это время очень сильно зависит от трех основных факторов:

  1. Насколько долго приходится ждать отклика сервера
  2. Насколько быстрое соединение у Вас с сетью интернет
  3. Насколько быстро сайт генерируется в клиентском браузере

1 пункт определяется мощностью сервера, скоростью дисков, производительностью CPU и объемом оперативной памяти сервера. Надежные и проверенные временем хостинг провайдеры всегда вовремя проводят обновления штата своих серверов внедряют новые технологии и размещают сайты клиентов только на высокопроизводительных серверах.

2 определяется временем на запросы и ответы DNS, а также количеством сетевых точек доступа (так называемых хопов) между вашим устройством и сервером хостинг провайдера, на котором размещен сайт. Так же от второго параметра серьезно зависит время загрузки всех файлов, необходимых для генерации страницы в браузере (например JS и CSS файлов, файлов изображений). Чем больше узлов связи между вашим устройством и сервером, на котором размещен ваш сайт тем хуже, тем медленнее будет загружаться сайт. Также, данная скорость будет определяться самой низкой скоростью между любыми двумя узлами связи.

Первый параметр лежит в зоне ответственности хостинг провайдера.

Второй параметр можно отследить используя утилиту трассировки информационного маршрута tracert. Подробнее про то, что такое трассировка можно ознакомиться здесь. Данный параметр лежит в зоне ответственности интернет провайдера, которым пользуется посетитель сайта.

3 параметр лежит в зоне ответственности вебмастера, владельца сайта.

Как владелец сайта может узнать подробнее о времени генерации содержимого сайта в браузере

Узнать об особенностях загрузки данных сайта можно, посмотрев в используемом браузере пункт «Инструменты разработчика». Для этого в окне браузера откройте страницу нужного сайта, после чего перейдите в консоль разработчика. В большинстве браузеров консоль открывается нажатием клавиши F12. После этого нужно перейти к вкладке под названием Network или Сеть.

Далее нужно проанализировать производительность страницы. Для того, чтобы сделать это, нажимаем кнопку F5, не закрывая панель разработчика. Страница перезагрузится и вы увидите список всех передаваемых файлов и данных.

По умолчанию выбраны файлы всех типов (All), но вы можете отфильтровать их по нужному расширению, введя в поле «Filter» название типа файла, либо нажав на один из предложенных вариантов (JS, CSS, Img, Media..).

Общие показатели времени загрузки показаны внизу в поле «Finish». Сделать фильтр загрузки по времени Вы можете, нажав на поле «Time». Таким образом, можно посмотреть, какие файлы грузятся медленнее остальных.

Загрузочное время определенного файла можно посмотреть, кликнув по интересующему вас файлу в списке, после чего нужно перейти в пункт Timing.

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

Показатели Queueing (Очередь), Stalled (Заблокировано), Waiting (Ожидание) составляют время отклика сервера. Ошибки в их работе должны быть исправлены очень быстро, поскольку массовость негативного влияния этих проблем вызовет многочисленные жалобы со стороны посетителей сайтов.

Параметр под названием Waiting наиболее часто вызывает сложности в работе. Time to First Byte или укороч. TTFB – это время до получения первого байта (сетевого пакета) информации с сайта. Проще говоря, данный параметр указывает на то, как долго загружаются скрипты и данные на сайте до того момента, когда он будет полностью готовым к использованию. Если у TTFB низкие показатели, этому найдется несколько различных причин. Далее мы перечислим их и наметим пути исправления.

Каковы причины медленной загрузки контента

Статические, а также динамические файлы могут нуждаться в оптимизации. Прежде чем приступить к этой процедуре, нужно точно определить, какие из типов файлов должны ее пройти. На скриншоте оранжевым выделены динамические файлы, зелёным - статические.

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

Статические сайты обладают уже загруженными на сервер элементами, например файлами изображений, CSS файлами стилей или JavaScript сценариями. Чтобы вывести их на страницу, нужно просто подождать, пока браузер их прогрузит.

Динамический сайт работает несколько иначе. Чтобы загрузить на страницу элементы, необходимо запустить скрипт на сервере, генерирующий данные для браузера.

Для определения того, какие именно из файлов нуждаются в оптимизации, нужно понять, какой элемент на странице грузится медленней всего. Как это сделать, Вы уже знаете.

Работа по оптимизации статических файлов

Примерный перечень расширений, присущих файлам статического типа: jpeg, jpg, png, css, html, js и т.д.

Причиной медленной загрузки статических файлов может быть либо большой размер последних, либо то, что они загружаются из других источников. Это можно исправить с помощью нескольких способов:

  • Оптимизировать контент (этот вариант подходит, если файлы грузятся долго из-за слишком больших размеров). Например, сконвертировать картинку из формата png в формат jpeg (разумеется если это применимо к данным файлам);
  • Сменить используемый внешний сервер. Если файлы загружаются медленно по причине нахождения их на других серверах, то проблема может заключаться в параметрах их конфигурации (загруженность, настройка, локация и т.д.). Для размещения контента рекомендуется подбирать наиболее быстродействующие сервера хранения;
  • Настроить на стороне сервера кэширование файлов (с помощью директив веб сервера). Если включить кэширование статических данных, загрузка файлов может уменьшиться во времени;
  • Также, для некоторых видов статических файлов можно включить компрессию на стороне веб сервераю Хорошими (но не универсальными) инструментами для обнаружения подобных проблем являются PageSpeed Insights, GTmetrix и другие.
Работа по оптимизации динамических файлов

В работе интернет-магазинов, а также всевозможных крупных порталов используется огромное количество обращений к базе данных. При этом запускается работа скриптов php на сервере. Таким образом, работа сайта очень сильно зависит от скорости работы этих скриптов. Оптимизацию динамических элементов нужно всегда проводить комплексно, не ограничиваясь одним из способов

  • Оптимизировать работу скриптов на сервере. Чтобы сделать это, нужно провести анализ работающих на сайте скриптов, а также запросов к базе данных. В некоторых случаях может помочь изменение версии php, но иногда необходимо проводить серьезную работу по улучшению качества кода php. Без грамотного специалиста-программиста будет обойтись трудно. В работе специалисту может пригодиться инструмент профилирования кода
  • Настроить кэширование CMS. Необходимо провести настройку кэширования результатов работы php кода. Данная процедура поможет уменьшить время отклика сайта и понизить нагрузку на сервер. В данном вопросе может быть незаменимым инструментом memcached
  • Необходимо обратить внимание на загрузку контента с других сервисов. Код сайта может иметь запросы на другие ресурсы, что потенциально увеличивает время генерации контента страницы вашего сайта. Недоступность удаленного сервера может и вовсе затормозить работу вашего сайта. Рекомендуется внешние источники не использовать вообще
  • Иногда сайт работает медленно из-за вирусов. Наличие вредоносного ПО может затормаживать работу сайта, а также производить паразительную нагрузку на сервер. В данном вопросе незаменим инструмент ImunifyAV+

Если все эти работы не привели к желаемому результату, то, возможно, вашему сайту не хватает ресурсов. В этом случае, вам стоит рассмотреть переход на VDS или арендовать физический сервер.

В дополнение к вышеперечисленным, мы расскажем вам о причинах общего характера медленной загрузки стариц:

  • Перегруз базы данных. Если вы часто меняете информацию на своем сайте, это может начать фрагментацию данных в таблицах БД. Такое положение дел может замедлить работу сайта. Чтобы избежать этих проблем, нужно периодически оптимизировать таблицы базы данных. Кроме того, лучше будет, если вы также оптимизируете работу скриптов.
  • Чрезмерно большая главная страница. Если размер главной страницы вашего сайта занимает несколько десятков мегабайт, это может серьезно повлиять на скорость работы. Различный контент, который весит много (анимации и изображения с высоким разрешением), можно попытаться оптимизировать. После этого можете проверить скорость работы сайта, она должна возрасти, а время загрузки контента уменьшиться.
  • Большая посещаемость. Если сайт грузится медленно, это может вытекать из большой посещаемости. Когда ресурс становится популярным, ему рекомендуется перейти на VDS сервер. Если же посещаемость сайта слишком подозрительна, это может означать ДДОС-атаку на ресурс. В таком случае, проверьте журнал сайта на наличие ненормальной активности. Как правило, атаки сопровождаются возрастанием нагрузки на аккаунте, что отображается в панели управления хостингом.
  • Тормозящие расширения. Сайт может перестать работать нормально из-за недавно установленного расширения или плагина. Попробуйте его отключить и перепроверить работу ресурса.