Рекомендации YSlow. Насколько необходимый они?

#include 
#include 
#include 
using namespace std;
string itos(int i) // convert int to string
{
    stringstream s;
    s << i;
    return s.str();
}

Бесстыдно украденный от http://www.research.att.com/~bs/bs_faq2.html .

8
задан madth3 7 December 2012 в 23:32
поделиться

7 ответов

YSlow хорош для проверки «Пользовательского опыта», который видят пользователи. Его рекомендации заключаются в том, чтобы страница отображалась для более быстрой загрузки. Например, 14 изображений на 1 изображение и спрайт - это чисто визуальная вещь. Правило состоит в том, что браузеры могут одновременно загружать только несколько изображений одновременно.

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

4
ответ дан 5 December 2019 в 10:04
поделиться

Исправьте то, что, по словам вашего профилирования , вызывает наибольшее замедление просмотров страниц.

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

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

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

4
ответ дан 5 December 2019 в 10:04
поделиться

Имейте в виду, что YSlow не может видеть ваш внутренний код, поэтому он может основывать свои рекомендации только на взаимодействии браузера с вашим сайтом. Вы обязательно должны сначала исправить вызовы базы данных. Рекомендации YSlow относительно множественных запросов, gzip и т. Д. Довольно убедительны, но они всегда говорят мне использовать сеть доставки контента, что не имеет смысла для небольшого сайта. Просто не тратьте много времени / денег на каждую рекомендацию вслепую и учитывайте то, что вы знаете, а YSlow - нет.

2
ответ дан 5 December 2019 в 10:04
поделиться

You are quite correct, optimising within the application code such as

  • Optimising slow database queries
  • Caching of frequently executed queries
  • Component level caching of frequently used components
  • General speed optimisations of expensive application code

will give you much higher performance gains than the YSlow recommendations in most cases.

YSlow optimisations are usually addressed at improving the performance of static parts of your site, which generally will already perform better than the dynamic parts, prior to any tweaking.

1
ответ дан 5 December 2019 в 10:04
поделиться

The backend code is more often faster than the frontend code. Try keeping the amount of external resources (css background images, css files and javascript files) down to a minimum.

That would be the most crucial optimization one can do imho.

0
ответ дан 5 December 2019 в 10:04
поделиться

Ни в коем случае, наш .htaccess гуру. Но недавно я создал веб-сайт Joomla и использовал YSlow, чтобы найти области для улучшения. Две области YSlow, о которых вы спрашивали выше - «Добавить заголовки Expires» и «Настроить теги сущностей (ETags)» - я адресовал через файл .htaccess в корне моего домена.

Добавить заголовки Expires

] Yahoo говорит: " Веб-страницы становятся все более сложными и содержат все больше скриптов, таблиц стилей, изображений и Flash. При первом посещении страницы может потребоваться несколько HTTP-запросов для загрузки всех компонентов. Благодаря использованию заголовков Expires эти компоненты становятся кэшируемыми, что позволяет избежать ненужных HTTP-запросов при последующих просмотрах страницы. Заголовки Expires чаще всего связаны с изображениями, но их можно и нужно использовать во всех компонентах страницы, включая скрипты, таблицы стилей и Flash ».

Чтобы решить эту проблему, я нашел и добавил следующий блок кода в свой файл .htaccess (примечание: измените OPENANGLEBRACKET на «<» и CLOSEDANGLEBRACKET на «>»):


    ########## Begin - Expires Headers
    #
    OPENANGLEBRACKET IfModule mod_expires.c CLOSEDANGLEBRACKET 
    ExpiresActive On
    ExpiresDefault "access plus 1 month"
    ExpiresByType application/pdf "access plus 1 month"
    ExpiresByType application/x-javascript "access plus 1 week"
    ExpiresByType application/x-shockwave-flash "access plus 1 month"
    ExpiresByType image/gif "access plus 1 month"
    ExpiresByType image/ico "access plus 1 month" 
    ExpiresByType image/jpeg "access plus 1 month"
    ExpiresByType image/png "access plus 1 month"
    ExpiresByType image/x-icon "access plus 1 month"
    ExpiresByType text/css "access plus 1 week"
    ExpiresByType text/html "access plus 1 day"
    ExpiresByType text/plain "access plus 1 week"
    ExpiresByType video/x-flv "access plus 1 month"
    OPENANGLEBRACKET /IfModule CLOSEDANGLEBRACKET
    #
    ########## End - Joomla! core SEF Section

Настройка тегов объектов (ETags)

Yahoo утверждает: «Теги объектов (ETags) - это механизм, который веб-серверы и браузер используют для определения того, компонент в браузере ' s cache совпадает с кешем на исходном сервере. Поскольку ETags обычно создаются с использованием атрибутов, которые делают их уникальными для конкретного сервера, на котором размещен сайт, теги не будут совпадать, когда браузер получает исходный компонент с одного сервера и позже пытается проверить этот компонент на другом сервере »

. Я решил удалить все Etags, которые давали мне оценку A, добавив это в мой файл .htaccess:


    ########## Begin - Remove Etags
    #
    FileETag none
    #
    ########## End - Remove Etags

Эти два изменения в моем файле .htaccess дали мне оценки A для этих двух категорий YSlow.

5
ответ дан 5 December 2019 в 10:04
поделиться

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

Это не просто помогает вам, это помогает мне .

Я использую более медленное Интернет-соединение дома, 144 Кбит / с. Я часто его загружаю под завязку, скачивая обновления или видео файлы. Это увеличивает задержку до 800 мс или около того.

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

1
ответ дан 5 December 2019 в 10:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: