Время Ответа Сервера
По рекомендациям Google время ответа сервера должно составлять менее 50 млс., но лишь 1% сайтов в интернете обладают этим показателем! Внедрите сегодня наши рабочие способы сокращения отклика, для гарантированного повышения позиций в Google и Yandex!
При продвижении любого сайта, важнейшим фактором ранжирования сайта в результатах поисковой выдачи является время ответа сервера, скорость загрузки сайта, объем и качество кода. Второе по важности, после уникального, необычно-интересного и читаемого текста, ссылочной массы. Если хотите, чтобы Ваш сайт был в ТОП-е результатов поиска - отнеситесь к этому показателю крайне серьёзно и ответственно!
Специалистами MOZ были проведены массовые исследования, доказавшие существенное влияние времени отклика сервера на позиции сайтов!
Время ответа сервера - что это, где оно берется и какие технические факторы на него влияют?
TTFB (Time To First Byte) - время до получения первого байта страницы, после отправки запроса на её получение браузером, эмулятором, программой.
Сразу, после отправки запроса браузером, или ботом поисковых систем, идет обращение на DNS-сервер, который по названию доменного имени, выдаст браузеру IP-адрес сервера, где находится сайт. Браузер обращается к нужному серверу, который начинает принимать запрос от него, и обрабатывать пользователя. Во время обработки пользователя происходит следующее:
- Когда уходит запрос к серверу, он проходит через расстояние от пользователя(кто отправил запрос) к серверу. Это расстояние (клиент-сервер) подразумевается под понятием "шнурок"
- Браузер отправляет данные серверу: куки, IP-адрес, оборудование, откуда пришел, хост с какого пришел и другие данные (их много).
- HTTP сервер Apache принимает и слаживает данные, отправленные браузером в качестве заголовков, берет данные сервера, для работы скриптов в глобальный массив "SERVER"
- Сервер начинает читать сайт, начиная с файла index.php (по умолчанию), анализировать синтаксис кода и исполнять. Чем больше кода, используемых условий и вызываемых функций - тем больше действий и времени на их совершение.
- На выходе, получается, синтерпретированный HTML-код страницы, который отдается браузеру.
- HTTP сервер Apache конвертирует html-код в байт-код, возвращая по "шнурку" обратно клиенту, отправившему запрос на получение страницы сайта.
Каждый из перечисленных этапов к получению любой веб-страницы сайта забирает время, но второй этап чтения и обработки файлов сайта (время интерпретации) забирает более 80% ответа сервера.
Почему сервер долго отвечает?
Большинство сайтов, созданных на CMS-системах, фреймворках, библиотеках, ООП, содержат в себе мусорный код (шлак), заставляя сервер выполнять миллионы ненужных действий и операций. Миллионы!!! Почему так происходит и какие причины этих бессмысленных действий:
- По результатам многократного тестирования экспертами, использование большинством веб-студий вех CMS-систем, фреймворков, библиотек и ООП в PHP (процедурного стиля программирования) замедляют ответ сервера в 500 раз. Эти популярные программные продукты, подключают все библиотеки, классы, и начинают их читать и выполнять подряд (процедурно). Это создает большую нагрузку на оборудование сервера и забирает много времени. При малейших изменениях сайт "сыпется".
- Отсутствие индивидуальной и грамотно-продуманной архитектуры проекта и индивидуального написания программного чистого кода сайтов (HTML, CSS, JavaScript, PHP).
- Использование готовых баз данных, например, MySQL. Любые операции з данными (чтение, запись, удаление), требуют в 2 раза больше времени, чем те же операции с файлами, а только одно подключение к MySQL требует больше времени, чем время интерпретации сайта на чистом коде. А подключений много!
Было замеряно время интерпретации сайтов, на готовых CMS-системах и фреймворках, которые выполняют самые простые задачи:
Обратите внимание! Различные тестирования должны проводиться на одном оборудовании и при равных условиях. Тестирования проводились на оборудовании Emachines E729Z, с процессором Intel Pentium CPU P6200, 2 ядра (2.13 GHz). На любом другом оборудовании, результаты будут отличаться.
- Wordpress - 0.47002696990967 сек.
- Joomla - 0.31301784515381 сек.
- OpenCart - 0.12800693511963 сек.
- YII - 0.29201698303223 сек.
Время интерпретации сайтов на чистом коде - 0.00099992752075195 сек. Теперь покажем результаты, у сколько раз все эти CMS, фреймворки, платформы проигрывают качественным сайтам на чистом коде:
- Wordpress - у 467-500 раз
- Joomla - у 313 раз
- OpenCart - у 128 раз
- YII - у 292 раза
- Bitrix - у 238 раз
- Более лёгкие CMS, фреймворки проигрывают чуть меньше, но это, к большому сожалению, никак не спасает ситуацию.
Обратите внимание: на время ответа сервера влияет сам сервер (компьютер, хранящий Ваш сайт), скорость и качество интернет-кабеля, нагрузка на ЦП сервера и кабель, и как не странно, операционная система.
Несколько полезных моментов:
- Хостинг, независимо от цены, хранит в себе много сайтов (около сотни и более) и как правило, они созданы на CMS-системах, Framework, которые работают у 180-500 раз медленнее, что в результате сам ПК хостинга работает медленно.
- На 95% хостингах подключен интернет-кабель скоростью в 100 МБ/сек. и таковой скорости, к сожалению, очень мало для такого количества сайтов.
- ОС существенно влияет на скорость ответа сервера и в этом я сам многократно был убежден. Я арендовал 5 VDS (выделенных серверов) с установленной операционкой "Cent OS". Открыл PageSpeed, указал ссылку на пустой PHP-скрипт и получил скорость ответа в 500 млс. Конечно это медленная скорость ответа и я сменил ОС на "Ubuntu". Снова открыл "PageSpeed", указывая ссылку на пустой PHP-скрипт и ответ сервера составил 20 млс. Такая ситуация была на всех пятерых VDS-серверах! Отсюда вывод: каждой ОС свойственна разная скорость работы, поэтому рекомендую выбирать Ubuntu, поскольку она лёгкая и шустрая!
Какое идеальное время ответа сервера?
- Хуже некуда - даже чуть более 200 мс.
- Самый идеальный - до 50 мс.(рекомендуемый поисковыми системами)
Чем меньше - тем лучше! Представьте, что Вы владелец поисковой системы и программе-боту Вашей ПС нужно просканировать миллионы сайтов за сутки. Разве будет выгодно ждать ответ от сервера некачественного сайта, чтобы его просканировать? Или лучше просканировать сайт, который в 500 раз быстрее отвечает?
Получается вместо одного некачественного сайта, можно просканировать 500 сайтов с мгновенным ответом и качественным кодом. Поисковые системы GOOGLE и YANDEX внедрили алгоритм, который сканирует и гарантированно одобряет сайты в топ с идеальным временем ответа сервера и качественным HTML, CSS и JavaScript-кодом при равных условиях.
Узнаем точное время ответа сервера
Безусловно, время ответа сервера нужно измерять инструментами от поисковых систем.
- PageSpeed сервис от Google. Вбейте адрес проверяемого сайта, нажав на кнопку "Анализировать" дождитесь результатов анализа. Время ответа сервера будет указано в пункте "Диагностика", или в "Успешные аудиты". Найдя строку "Короткое время ответа сервера (время до получения первого байта)" Вы увидите время ответа сервера.
- Yandex Webmaster Если сайт продвигается в Яндексе, советую измерять время ответа сервера именно этим способом, а так же приобретать хостинг в России. Для проверки перейдите в пункт "проверка ответа сервера" и указав ссылку на проверяемый сайт Вы увидите результат и время ответа.
Обратите внимание! Расстояние от сервера Google и Yandex к серверу, хранящим сайт разное и за счет "шнурка" результаты проверки будут отличаться. Обязательно делайте несколько замеров подряд, найдя средние результаты.
Google PageSpeed
Yandex Webmaster
Как сократить время ответа сервера
Из вышенаписанного помним, что время интерпретации (чтение и обработка файлов сайта) влияет на ответ сервера более, чем на 80%.
Большинство веб-студий и "разработчиков" утверждают в один голос, что даже на практике время ответа сервера 200 мс получить невозможно. Отвечу: на любых популярных CMS-системах, библиотеках, фреймворках, добиться ответа даже до 200 мс невозможно и что тут уже говорить о идеальном времени менее 50 мс.
Чтобы получить время ответа сервера, почти нулевое (7-50 мс) - нужен программист, который не использует "ШЛАК", а хорошо знает HTML, CSS, JavaScript, PHP, имеет опыт более 7 лет и пишет сайты, придерживаясь следующих обязательных правил:
- Всегда продумывайте несколько раз архитектуру (ядро) сайта. Рисуйте архитектуру файлов и папок на листе бумаги.
- Тщательно продумайте структуру (ядро) базы данных Вашего проекта. Делайте это под каждый проект индивидуально. Прорабатывайте структуру базы письменно.
- Пишите чистый HTML, CSS, JavaScript, PHP код индивидуально, под конкретные задачи (чтобы можно быстро изучить, дополнить, отредактировать код (скрипт). Эксперту в этой области индивидуальное написание займёт далеко не больше времени, чем брать готовые решения.
- Не используйте сторонние приложения баз данных, как MySQL и другие. Хорошо и грамотно продуманная индивидуально база работает быстрее в 2 раза.
- НИКОГДА не пользуйтесь готовыми решениями (велосипедами), в частности CMS, Framework, библиотеки. В них много незадействованного кода, который не выполняется.
- Всегда думайте, как написать скрипт, выполняющий как можно меньше действий, с целью максимального облегчения нагрузки на оборудование сервера и пользователя. Нужно знать и всегда проверять, какие функции быстрее работают. Взвешивать общую картину.
Если Вы не пишите на чистом коде и используете CMS, Framework, MySQL, ООП и др. готовые решения - могу посоветовать работающие способы:
- Включите кэширование страниц, это позволит избежать созданию запросов к БД и обращение к скриптам, генерации страниц.
- Удержитесь от использование шаблонизаторов в своих проектах.
- Сменить хостинг на дорогой VDS, или VPS с ОС Ubuntu.
К большому сожалению эти рекомендации не помогут добиться идеального времени ответа сервера, ведь если причина в коде - не поможет самый дорогой сервер! Мы арендуем дешевый VPS-сервер за $6 и ответ сервера составляет 20-30 млс, поскольку мы придерживаемся вышеупомянутой схемы и не используем готовых решений вообще!
Другие специалисты, как врачи, юристы, ремонтные бригады и др. подходят к каждой задаче индивидуально. Например, врачу нереально вылечить все болезни пациента, используя только зелёнку. Так и программист, не может написать качественный проект шаблонно.
Придерживаясь этих обязательных правил, вполне реально написать любой по сложности веб-сайт и получить почти нулевое время ответа сервера! Экспертов в этой области единицы, работающими над снижением нагрузки с оборудования сервера и пользователя, имея навыки написания эксклюзивных веб-сайтов с такими идеальными показателями!