Разработка лидирующих и эксклюзивных WEB-приложений на чистом коде(HTML,CSS,JS,PHP). Гарантия высокого качества!

» Статьи» Время ответа сервера

Время ответа сервера

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

Теперь речь о том, что такое время ответа сервера и какие технические факторы влияют на этот показатель.

Сразу, после отправки запроса браузером, или ботом поисковых систем, идет обращение на 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, фреймворки проигрывают чуть меньше, но это, к большому сожалению, никак не спасает ситуацию.
Какое идеальное время ответа сервера?
  • Хуже некуда - даже чуть более 200 мс.
  • Самый идеальный - до 50 мс.(рекомендуемый поисковыми системами)

Чем меньше - тем лучше! Представьте, что Вы владелец поисковой системы и программе-боту Вашей ПС нужно просканировать миллионы сайтов за сутки. Разве будет выгодно ждать ответ от сервера некачественного сайта, чтобы его просканировать? Или лучше просканировать сайт, который в 500 раз быстрее отвечает?

Получается, вместо одного некачественного сайта, можно просканировать 500 сайтов с мгновенным ответом и качественным кодом. Поисковые системы GOOGLE и YANDEX внедрили алгоритм, который сканирует и гарантированно одобряет сайты в топ с нулевым временем ответа сервера и качественным HTML, CSS и JavaScript-кодом.

Как сократить время ответа сервера

Из вышенаписанного помним, что время интерпретации (чтение и обработка файлов сайта) влияет на ответ сервера более, чем на 80%.

Большенство веб-студий и "разработчиков" утверждают в один голос, что даже на практике время ответа сервера 200 мс получить невозможно. Отвечу: на любых популярных CMS-системах, библиотеках, фреймворках, добиться ответа даже до 200 мс невозможно и что тут уже говорить о идеальном времени менее 50 мс.

Чтобы получить время ответа сервера, почти нулевое (7-50 мс) - нужен программист, который не использует "ШЛАК", а хорошо знает HTML, CSS, JavaScript, PHP, имеет опыт более 7 лет и пишет сайты, придерживаясь следующих обязательных правил:

  • Всегда продумывайте несколько раз архитектуру (ядро) сайта. Рисуйте архитектуру файлов и папок на листе бумаги.
  • Тщательно продумайте структуру (ядро) базы данных Вашего проекта. Делайте это под каждый проект индивидуально. Прорабатывайте структуру базы письменно.
  • Пишите чистый HTML, CSS, JavaScript, PHP код индивидуально, под конкретные задачи (чтобы можно быстро изучить, дополнить, отредактировать код (скрипт). Эксперту в этой области индивидуальное написание займёт далеко не больше времени, чем брать готовые решения.
  • Не используйте сторонние приложения баз данных, как MySQL и другие. Хорошо и грамотно продуманная индивидуально база работает быстрее в 2 раза.
  • НИКОГДА не пользуйтесь готовыми решениями (велосипедами), в часности CMS, Framework, библиотеки. В них много незадействованного кода, который не выполняется.
  • Всегда думайте, как написать скрипт, выполняющий как можно меньше действий, с целью максимального облегчения нагрузки на оборудование сервера и пользователя. Нужно знать и всегда проверять, какие функции быстрее работают. Взвешивать общую картину.

Другие специалисты, как врачи, юристы, ремонтные бригады и др. подходят к каждой задаче индивидуально. Например, врачу нереально вылечить все болезни пациента, используя только зелёнку. Так и программист, не может написать качественный проект шаблонно.

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