действительно ли favicon 404 влияет на производительность - PullRequest
5 голосов
/ 07 января 2012

Мы заметили, что в наш серверный монитор Coldfusion CFIDE было выдано 404 ошибки, и нам потребовалось некоторое время, чтобы выяснить, что такие ошибки, как отсутствие значков, вызывают эти ошибки.

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

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

Я знаю, что это проблема с производительностью, но достаточно ли одной, чтобы оправдать попытки это исправить? Если это так, есть ли способ с сервером Coldfusion (или с нашим Windows Server 2003, на котором работает IIS) фильтровать, какие файлы на самом деле выдают ошибку CF 404? В идеале, для таких файлов, как эти favicons, CSS и Javascript (поскольку посетитель никогда не «видит» их вывод), мы просто хотели бы вернуть ответ HTTP 404 без содержимого, поскольку оно не нужно ...

Ответы [ 3 ]

13 голосов
/ 07 января 2012

Да, отсутствующие значки влияют на производительность, как и любой отсутствующий контент, если у вас есть пользовательская страница 404 (особенно, если страница 404 обрабатывается системой управления контентом). Это связано с тем, что каждый раз, когда браузер запрашивает файл (изображение, видео, страницу и т. Д.), Он вызывает нагрузку на ваш сервер. Допустим, значок отсутствует на каждой странице вашего сайта. Если ваша страница 404 является частью вашей системы управления контентом, это удваивает нагрузку на ваш сервер (в основном запрашивая 2 страницы каждый раз вместо 1). Если ваша страница 404 отличается, но все еще имеет логику, это увеличивает нагрузку, но только настолько, насколько этого требует файл (меньше логики = меньше нагрузки и наоборот).

Я бы предложил бы исправить эту проблему, но не обязательно, убив пользовательские 404 страницы для определенных расширений. На мой взгляд, было бы лучше (для вас и ваших посетителей), если бы вы просто добавили файл favicon на все свои сайты. Это не только решит проблему 404, но и поможет вашим посетителям быстрее распознавать ваш веб-сайт при добавлении страниц в закладки или добавлении сайта в качестве вкладки приложения (что применимо, даже если ваш сайт недоступен для общественности, как бэкэнд-сайты - отличный пример использования вкладок приложений). Помимо производительности вашего сервера, необходимость загрузки страницы 404 также влияет на производительность сети, как на стороне сервера, так и на конечного пользователя. Страница 404 также может не кэшироваться, и даже если это так, вероятно, не так долго, как существующий значок, что приводит к тому, что запрос происходит гораздо чаще, чем если бы вы просто создали значок.

Если вы не хотите тратить время (или не нуждаетесь) в продвинутом брендинге (например, создании собственного логотипа для favicon), базовое изображение с буквой (например, «K»). ") Сделаю. Фавиконы чрезвычайно полезны для публики, любого персонала и даже для вас самих, поэтому я бы сказал, что определенно стоит потратить время, чтобы хотя бы сделать базовый фавикон.

3 голосов
/ 07 января 2012

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

Относительноисправить ... почему бы вам просто не развернуть иконку?Возможно, это было бы быстрее, чем беспокоиться о проблеме.

0 голосов
/ 07 января 2012

Как кто-то еще коснулся, я думаю, что самый простой и разумный способ решения этой проблемы - не пытаться решать ее на стороне 404, а просто убедиться, что 404 не возникает.на первом месте.Если это все происходит из-за отсутствия значков ... исправьте это, не пропустив значки!Если у вас нет ресурсов или желания правильно их брендировать, просто используйте общий.Лучше лечить реальную проблему, чем ее симптом.

...