Проверка кода ответа страницы сервера

Apache

Обычно я рекомендую использовать Nginx для высокопроизводительных сайтов. Если вам абсолютно необходимо использовать Apache по какой-то причине, я получил бонусный совет:

  1. Отключить AllowOverride

    Настройка на предотвращает много дискового ввода-вывода и

Joomla

  1. Не используйте режим FTP

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

  2. Отключить неиспользуемые расширения

    Это особенно подходит для плагинов, многие из которых выполняются по каждому запросу. Отключение меню и компонентов в основном полезно при перечислении доступных расширений и типов меню. Также пройдите 5 минут, чтобы пройти через расширения, которые поставляются с ядром Joomla, и отключите те, которые вы не используете.

  3. Отключить Подготовку содержимого

    Если вы используете множество пользовательских модулей ( нестандартно, как в самозаписываемом), проверьте, можете ли вы отключить Подготовку содержимого в них. Это экономит некоторую обработку.

  4. Использовать кеширование

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

  5. Использовать альтернативный обработчик сеанса

    Используя альтернативный обработчик сеанса, вы можете освободить свою базу данных для более важных вещей. Я бы не рекомендовал файл (путано называемый «Нет» в настройках Joomla), поскольку это приведет к еще большему увеличению дискового ввода-вывода. Использование APC является потенциально быстрым, но увеличивает риск потери всех данных сеанса. Правильное среднее место — Memcache. Хотя для этого требуется дополнительный процесс, он более надежный, чем APC, и намного быстрее, чем хранение всех данных вбазы данных

  6. Держите свой сайт простым

    Вам действительно нужна кнопка Facebook? Как насчет этой симпатичной иконки, которую никто никогда не видит, потому что она частично скрыта за каким-то баннером? Чем меньше ваш сайт показывает, тем быстрее он будет. Также везде, где это возможно, используйте CSS3 вместо изображений.

Разное

Установите значок

Благодарим вас за решение, относящееся к браузерам Internet Explorer 4.0 к файлу, называемому , когда пользователь посещает ваш сайт. Если у вас его нет, это приводит к ненужному IO, поскольку 404 ответа не кэшируются. Либо укажите значок своего сайта с помощью метатега HTML или добавьте в корневой каталог файл с именем . Не хотите значка? Поместите прозрачный PNG размером 1×1 пиксель в этом месте

Обратите внимание, что расширение еще должно быть. Оптимизация изображений

Удивительно, какую экономию можно получить за счет оптимизации изображений, особенно файлов PNG

Для любой операционной системы есть множество инструментов, лично я использую ImageOptim , который доступен для OS X. Основные изображения Joomla уже оптимизированы, но идут в корыто ваши собственные изображения, особенно шаблоны, важны. Вы также можете проверить расширения, которые используете. Если они с открытым исходным кодом, почему бы вам не внести запрос на перенос, содержащий недавно оптимизированные изображения?

Проверка ответа сервера в онлайн сервисах

После активации процесса чуть ниже вы получите ответ со всеми раскладами:

Сервис Checkmy предлагает пользователям не только выбор приложения (User Agent), с которого будет отправлен запрос, но и использования заголовков If-Modified-Since и Accept-Encoding, о которых велась речь выше.

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

На сайте есть еще такая фишка как закладка для браузера, которая обеспечит скоростную проверку любой веб-страницы, на которую вы перейдете. Для этого достаточно прокрутить страницу вниз до нужного места, нажав на ссылку «Быстрый доступ» из верхнего меню. Затем, захватив левой кнопкой мышки кнопку «Checkmy», переместить ее на панель закладок браузера:

Связь компонентов SQL Server AlwaysOn с WSFCRelationship of SQL Server AlwaysOn Components to WSFC

Между функциями и компонентами SQL ServerSQL Server AlwaysOn и WSFC существуют связи нескольких уровней.Several layers of relationships exist between SQL ServerSQL Server Always On and WSFC features and components.

Группы доступности AlwaysOn размещаются в экземплярах SQL ServerSQL Server .Always On availability groups are hosted on SQL ServerSQL Server instances.Клиентский запрос с указанием логического сетевого имени прослушивателя группы доступности для подключения к базе данных-источнику или базе данных-получателю направляется на соответствующее сетевое имя экземпляра базового экземпляра SQL ServerSQL Server или экземпляра отказоустойчивого кластера SQL ServerSQL Server.A client request that specifies a logical availability group listener network name to connect to a primary or secondary database is redirected to the appropriate instance network name of the underlying SQL ServerSQL Server instance or SQL ServerSQL Server FCI.

Экземпляры SQL Server активно размещаются на одном узле.SQL Server instances are actively hosted on a single node.Если имеется изолированный экземпляр SQL ServerSQL Server , то он всегда находится на отдельном узле со статическим сетевым именем экземпляра.If present, a stand-alone SQL ServerSQL Server Instance always resides on a single Node with a static instance network name. Экземпляр отказоустойчивого кластера SQL ServerSQL Server (если он есть) активен на одном из нескольких возможных узлов отработки отказа с единым виртуальным сетевым именем экземпляра.If present, a SQL ServerSQL Server FCI is active on one of two or more possible failover nodes with a single virtual Instance Network Name.

Узлы являются членами кластера WSFC.Nodes are members of a WSFC cluster.Метаданные и состояние конфигурации WSFC для всех узлов сохраняются на каждом узле.WSFC configuration metadata and status for all nodes is stored on each node. Каждый сервер может предоставлять тома асимметричного хранения или общего хранения (SAN) для пользовательских и системных баз данных.Each server may provide asymmetric storage or shared storage (SAN) volumes for user or system databases. Каждый сервер имеет по крайней мере один физический сетевой интерфейс в одной или нескольких IP-подсетях.Each server has at least one physical network interface on one or more IP subnets.

Кластер WSFC контролирует работоспособность группы серверов и управляет их конфигурацией.The WSFC monitors health and manages configuration for a group of servers.Механизмы WSFC распространяют изменения в метаданных и состоянии конфигурации WSFC во всех узлах кластера WSFC.The WSFC mechanisms propagate changes to WSFC configuration metadata and status to all nodes in the WSFC. Если используется диск-свидетель, метаданные также хранятся на нем.If a disk witness is used, the metadata is also stored there. По умолчанию каждый узел кластера WSFC имеет голос в кворуме, а ресурс-свидетель используется, если он необходим и настроен.By default, each node of the WSFC gets a vote towards quorum and a witness will be used if necessary and is configured.

Группы доступности AlwaysOnAlways On availability groups — это подразделы кластера WSFC.registry keys are subkeys of the WSFC cluster.При удалении и повторном создании кластера WSFC необходимо отключить и повторно включить функцию Группы доступности AlwaysOnAlways On availability groups на каждом экземпляре сервера, на котором была включена функция Группы доступности AlwaysOnAlways On availability groups в исходном кластере WSFC.If you delete and re-create a WSFC, you must disable and re-enable the Группы доступности AlwaysOnAlways On availability groups feature on each server instance that was enabled for Группы доступности AlwaysOnAlways On availability groups on the original WSFC. Дополнительные сведения см. в разделе Включение и отключение групп доступности AlwaysOn (SQL Server).For more information, see Enable and Disable Always On Availability Groups (SQL Server).

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

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

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

  • Подключение к стороннему серверу;
  • Получение ответа;
  • Загрузка всей информации сайта (включая графику, видео, изображения и т.д.);
  • Отображение страницы в окне браузера (компиляция).

200 OK, 301 Moved Permanently, 404 Not Found — в чем их важность

Как вы можете догадаться, нормальный ответ сервера, если нету никаких сбоев и проблем — это код 200 OK, который означает «успешный запрос». Если для главной страницы и для других он отличается, значит что-то не так и нужно разбираться в проблеме.

301 Moved Permanently или код 301 называют редиректом, то есть перенаправлением с одного адреса на другой. В первую очередь это касается определения главного зеркала вашего сайта — с www или без него.

Дело в том, что поисковые системы могут распределять трафик между такими вот «версиями», а это очень негативно влияет на возможность продвижения сайта. Поэтому, их необходимо соединить, то есть «склеить» с помощью редиректа. Об этом читайте в отдельной статье.

Ну, а ответ сервера 404 Not Found — не найдено, также не может быть недооценен, поскольку от битых ссылок не застрахован даже самый лучший проект. Просто потому что в адресную строку вводить название могут люди, а им свойственно ошибаться. Читайте еще статью и о поиске битых ссылок на сайте.

Memcached (или Redis или APC) и кэширование блоков:

Если у вас есть Memcached на сервере, вы можете настроить свой файл local.xml, чтобы начать использовать Memcached для сеансов, а также для кэширования блоков. Но так как ваш Magento сильно модифицирован, ваши классы блоков должны быть кэшируемыми-им нужно переопределить метод и вернуть строку, эта строка должна отличаться в зависимости от содержимого HTML визуализируемого блока.

Образцы:

  • если у вас есть блок, который отображает константу HTML, ключ может быть любой уникальной строкой, которую вы можете «calculate», фактически не перестраивая / переназначая блок (например, имя, которое вы дали блоку в своем layout.xml).

  • если у вас есть блок, который отображает «Hi {{username}}!», то ключ должен быть основан либо на имени пользователя, либо на user_id, например текущий пользователь легко извлекается из сеанса, поэтому вам не нужно запускать запрос базы данных, чтобы извлечь его.

  • если у вас есть блок, который зависит от нескольких параметров, все эти параметры должны быть учтены при построении ключа кэша, и вы должны учитывать тот факт, что информация о параметрах должна быть доступна с минимальными затратами на обработку. возможно — если вы получаете информацию из DB только для вычисления ключа кэша, вы можете сделать это неправильно — например, блок может отличаться по содержимому на основе текущего идентификатора страницы CMS, но вам не нужно загружать объект страницы из DB, чтобы узнать это, вы можете просто обработать переменную URL или и использовать эту информацию для построения ключа кэша.

Нормальное время ответа — это сколько?

Чем меньше, тем лучше.

  • До 300 миллисекунд — очень хороший результат, можно спать спокойно.
  • От 300 до 700 миллисекунд — тоже неплохо, волноваться повода нет.
  • Если время ответа вашего сайта приближается к секунде, или ещё выше — повод принимать меры.

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

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

Способы сокращения количества запросов к серверу

Для того чтобы сократить время ответа сервера, необходимо провести ряд действий:

  • Определить по логам самых затратных по времени операций. Далее следует исправление и удаление лишних. Упрощение серверной логики.
  • Сократить базу данных. Удаление «мусора».
  • Включить Gzip сжатие на сервере для поточного архивирования текстовых данных.
  • Расширить кеш для CSS и JavaScript.
  •  Объединение всех стилей JavaScript и CSS в один файл (точнее в два файла – каждый для своего формата).
  • Сократить порядок загрузки (стили CSS→ контент→JavaScript).
  • Уменьшить код JavaScript и CSS (удаление пробелов и комментариев).
  • Внедрение HTTP/2 для одновременной обработки большего количества запросов.
  • Подключение Lazyload (загрузка изображений только во время прокрутки до них).
  • Для того чтобы избежать двойной отрисовки отдельных частей элементов дизайна, необходимо перенести стили CSS с тела страницы в head.
  • Согласование МЕТА-тегов с HTTP-заголовками.
  • Внешне подключенные стили CSS и JavaScript необходимо перенести в общий файл стилей сайта. Это сократит общее количество запросов.
  • Смена абсолютных URL на относительные (название сайта.ru/page→/page)
  • Использование поддоменов для распределения части контента. Это позволяет сократить расстояние сервера и пользователя.
  • Уменьшить размер изображений (сжатие).
  • Связывание nginx и Apache. Это повышает скорость вычисления сервера.
  • Настройка OPcache.

Термины и определенияTerms and Definitions

Отказоустойчивый кластер Windows Server (WSFC) — это группа независимых серверов, совместная работа которых позволяет повысить доступность приложений и служб.Windows Server Failover Cluster (WSFC) A WSFC is a group of independent servers that work together to increase the availability of applications and services.

УзелNodeСервер, который является членом WSFC.A server that is participating in a WSFC.

Ресурс кластераCluster resourceФизическая или логическая сущность, которая может принадлежать узлу, которую можно переводить в режимы «в сети» и «вне сети», перемещать между узлами и которой можно управлять как объектом кластера.A physical or logical entity that can be owned by a node, brought online and taken offline, moved between nodes, and managed as a cluster object. Ресурс кластера может принадлежать одновременно только одному узлу.A cluster resource can be owned by only a single node at any point in time.

РольRoleКоллекция ресурсов кластера, управляемая как единый объект кластера и предоставляющая определенные функциональные возможности.A collection of cluster resources managed as a single cluster object to provide specific functionality. Для SQL Server ролью будет группа доступности AlwaysOn или экземпляр отказоустойчивого кластера AlwaysOn.For SQL Server, a role will be either an Always On Availability Group (AG) or Always On Failover Cluster Instance (FCI). Роль содержит все ресурсы кластера, необходимые для роли группы доступности или экземпляра отказоустойчивого кластера.A role contains all of the cluster resources that are required for an AG or FCI. Отработка отказа и восстановление размещения всегда выполняются в контексте ролей.Failover and failback always act in context of roles. Роль экземпляра отказоустойчивого кластера содержит ресурс IP-адреса, ресурс сетевого имени и ресурсы SQL Server.For an FCI, the role will contain an IP address resource, a network name resource, and the SQL Server resources. Роль группы доступности содержит ресурс группы доступности, а также, если настроен прослушиватель, ресурсы сетевого имени и IP-адреса.An AG role will contain the AG resource, and if a listener is configured, a network name and an IP resource.

Ресурс сетевого имениNetwork name resourceИмя логического сервера, которое управляется как ресурс кластера.A logical server name that is managed as a cluster resource. Ресурс сетевого имени должен использоваться с ресурсом IP-адреса.A network name resource must be used with an IP address resource. Для этих элементов могут требоваться объекты в доменных службах Active Directory или в службе доменных имен (DNS).These entries may require objects in Active Directory Domain Services and/or DNS.

Зависимость ресурсовResource dependencyРесурс, от которого зависит другой ресурс.A resource on which another resource depends. Если ресурс А зависит от ресурса Б, то Б является зависимостью А. Ресурс A невозможно будет запустить, если отсутствует ресурс Б.If resource A depends on resource B, then B is a dependency of A. Resource A will not be able to start without resource B.

Предпочитаемый владелецPreferred ownerПредпочтительный узел для запуска группы ресурсов.A node on which a resource group prefers to run. Каждая группа ресурсов связана со списком предпочитаемых владельцев, отсортированных в порядке предпочтения.Each resource group is associated with a list of preferred owners sorted in order of preference. Во время автоматического перехода на другой ресурс группа ресурсов перемещается на следующий предпочтительный узел в списке.During automatic failover, the resource group is moved to the next preferred node in the preferred owner list.

Возможный владелецPossible ownerДополнительный узел, на котором может запускаться ресурс.A secondary node on which a resource can run. Каждая группа ресурсов связана со списком возможных владельцев.Each resource group is associated with a list of possible owners. Отработка отказа ролей может выполняться только на узлы из списка возможных владельцев.Roles can fail over only to nodes that are listed as possible owners.

Режим кворумаQuorum modeКонфигурация кворума в отказоустойчивом кластере, определяющая количество сбоев узлов, которое может выдержать кластер.The quorum configuration in a failover cluster that determines the number of node failures that the cluster can sustain.

Обязательный кворумForce quorumПроцесс запуска кластера несмотря на то, что на связи недостаточное количество элементов для кворума.The process to start the cluster even though only a minority of the elements that are required for quorum are in communication.

Первоочередные меры по ускорению сервера

  1. Настроить использование nginx (в связке с Apache+mod_php, php-fpm или IIS для выполнения серверной логики). Это сократит время на обработку запросов к статическим файлам сайта и повысит отказоустойчивость.
  2. Настроить кэширование исполняемого кода. Начиная с PHP 5.3 Zend Guard уже поставляется по умолчанию, поэтому вам нужно либо проверить, что он уже используется для вашего сайта, либо использовать любой альтернативный менеджер кэша исполняемого кода: APC, OpCache, xCache. Проверить использование этого кэша достаточно просто: нужно создать на сайте файл info.php с кодом и открыть его в браузере. Если на странице присутствуют модули APC, Zend Optimizer, Zend Guard, xCache или OpCache — то все хорошо.
  3. Проверить задержки выполнения скриптов. После подготовки фундамента (веб-сервера и кэширования исполняемого кода) можно взглянуть на задержки непосредственно серверной логики. Лучшим решением будет серверное кэширование страниц целиком (если возможно отображение одних и тех же страниц всем или почти всем пользователям сайта). Если серверное полностраничное кэширование невозможно, то необходимо настраивать блочное кэширование отображаемых на страницах блоков данных (через Memcached). Также эффективным может оказаться удаление неиспользуемых данных из базы данных или настройка индексов (для оптимизации запросов).

Возможные коды ответов http cервера

Вариантов ответных сообщений много, но они делятся на пять групп по смыслу:

  1. Информационные (100-199) — показывают, как сервер относится к вашему запросу: принял, в процессе обработки, не понял и т.д.
  2. Успешные (200-299) —  запрос успешно удовлетворен.
  3. Перенаправляющие (300-399) — перенаправление на другой документ, страницу: постоянное (301), временно (302) и др.
  4. Ошибки клиента (400-499) — какие-то проблемы с запросом, например нужного документа не существует на сервере (404).
  5. Ошибки сервера (500-599) — проблемы с сервером.

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

Как проверить код ответа сервера для страницы вашего сайта

Собственно, узнать какие именно сообщения присылает сервер в ответ на определенный запрос достаточно просто.

Для этого нужно воспользоваться услугами какого-то сервиса по анализу сайтов или, например, панелью вебмастера Яндекс, вернее одной из её возможностей — Проверка ответа сервера.

Напомним, что перед этим необходимо зарегистрировать сайт в поисковых системах и в нужных панель инструментов, в данном случае — в Яндексе.

Относительно других сервисов, очень удобен — pr-cy.ru, но там можно увидеть только ответ главной страницы.

Но этого недостаточно. Необходимо проверить, как он реагирует на запрос несуществующих страниц, а также на «www.sitesnulya.ru» (главное зеркало — без www).

Проверка на склейку зеркал сайта (www и без него):

У нас всё работает и если ввести в адресную строку www.sitesnulya.ru попадете все равно на sitesnulya.ru

Почему этот так важно рассмотрим дальше

Массовая проверка кода ответа сервера

Как пользоваться инструментом?

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

  1. Отслеживания работоспособности продвигаемых SEO-специалистами страниц.
    В том случае если продвигаемая страница отдаёт неверный код ответа сервера (отличный от 200 ОК), это может приводить к исключению страницы из индекса поисковой системы.

  2. Отслеживания работоспособности страниц, на которые ведут объявления рекламной кампании.
    Возможны ситуации, когда с сайта удаляются товары (страницы), на которые ведут объявления рекламной компании. С помощью сервиса можно своевременно обнаружить ошибки, получив коды ответа сервера для целого списка страниц (максимум за одну итерацию — 100 ссылок).

    В данном случае страница № 4 отдаёт код 404, что говорит о её недоступности к индексации.

  3. Выявления редиректов в структуре сайта для исключения излишних перенаправлений.

    Если в исходном коде имеются ссылки на указанные URL-адреса, то рекомендуется заменить их на конечные URL-адреса (столбец «URL-переадресации»).

Возможность скачать результат в CSV

Чтобы скачать результат проверки в формате CSV, необходимо перед запуском проверки поставить галочку «Скачать результаты в виде CSV-файла».

Какие коды ответа сервера существуют?

Существует свыше 50 различных кодов ответа сервера, но повседневно SEO-специалистам, вебмастерам и директологам приходится сталкиваться со следующими:

  • 200 OK — страница доступна, в ответе сервера содержатся запрошенные данные. Надо стремиться к тому, чтобы этот код ответа отдавали все продвигаемые документы сайта и документы, на которые ведут объявления рекламных кампаний.
  • 301 Moved Permanently — запрашиваемая страница была перенесена на новый URL, который указан в инструменте в случае данного кода ответа в столбце «URL-переадресации».
  • 302 Found — запрашиваемая страница была временно перенесена на другой URL, который указан в инструменте в случае данного кода ответа в столбце «URL-переадресации».
  • 404 или Not Found — страница не была найдена по указанному URL.
  • 410 Gone — запрашиваемая страница была удалена с указанного URL и теперь недоступна. Если документ в ближайшее время может быть восстановлен, рекомендуется клиенту отдавать код 404.
  • 503 Server Unavailable — сервер временно не имеет возможности обрабатывать запросы по техническим причинам. В поле Retry-After заголовка сервер может указать время, через которое клиенту рекомендуется повторить запрос. Данный код ответа используется для того, чтобы сообщить поисковому роботу о проведении технических работ на сайте и необходимости посетить ресурс позже. С точки зрения продвижения рекомендуется следить за страницами с кодом ответа 503, чтобы после проведения технических работ на сайте они снова отдавали код ответа 200 OK.

Задайте вопрос или оставьте комментарий

Перейти к инструменту «Проверка ответа сервера»

Вопросы и предложения:

  • Q: 62 миллисекунды времени приема вполне достаточно. Как насчет того, чтобы сократить время ожидания 1.5 секунды?
  • S: время ожидания — это время, которое требуется серверу для создания страницы.

  • Вопрос: включены ли плоские таблицы?
  • S: включите плоские таблицы и убедитесь, что все настроенные запросы коллекции по-прежнему работают правильно (запросы коллекции автоматически преобразуются из запросов на основе ресурсов EAV в запросы на основе плоских ресурсов).

  • Вопрос: включено ли у вас кэширование (если сервер кэширования не кэширует файлы)?
  • S: настройте Memcached или Redis или APC в качестве сервера кэша в .

Вопрос: ваш Magento больше похож на установку out-of-the-box с темой или тема и, возможно, логика сильно настроены?

S: Если это тема OOTB — поддерживает ли тема правильное кэширование?

S: Если это сильно настроенный Magento, вы приняли во внимание необходимый код поддержки кэширования?

Ссылка на основную публикацию