The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Раздел полезных советов: Советы Yahoo по увеличению производительности web-сайтов"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Раздел полезных советов: Советы Yahoo по увеличению производительности web-сайтов"  +/
Сообщение от auto_tips (??), 26-Мрт-08, 22:52 
<ol>
<li> Производить как можно меньше HTTP запросов;
<li> Воспользоваться услугами сетей доставки контента (Content Delivery Network), например <a href="http://www.akamai.com/">Akamai</a>;
<li> Не пренебрегать HTTP заголовком "Expires" или "Cache-control";
<li> Отдавать страницы в сжатом виде (например, mod_gzip);
<li> Указывать ссылки на файлы с таблицами стилей (link href) в начале документа;
<li> Указывать ссылки на JavaScript файлы (script src) в конце документа;
<li> Не использовать вычислимые выражения (expression) в CSS;
<li> Хранить JavaScript и CSS вставки в виде отдельных файлов;
<li> Уменьшить число обращений к другим доменам на странице (например, когда картинки или iframe грузятся с другого сервера, в идеале не больше 3 доменов);
<li> Минимизировать размер JavaScript и CSS (например, при помощи JSMin или YUI compressor, которые убирают лишние пробелы, комментарии и сокращают переменные);
<li> Избегать редиректов (HTTP Redirect);
<li> Исключить дублирование JavaScript кода (например, IE повторно грузит повторяющиеся "script src" вставки);
<li> Настроить ETags ("FileETag None" в Apache);
<li> Кэшировать Ajax запросы;
<li> Сбрасывать буфер в на начальном этапе генерации страницы (например, через периодический вызов flush() в PHP, для того чтобы клиент получил ссылки на CSS файлы и успел начать их загрузку);
<li> Использовать для Ajax запросов HTTP метод GET (вмещается в 1 TCP пакет, в то время как POST отправляется в два этапа - заголовки и данные);
<li> Выделение контента, который можно загрузить в последнюю очередь (например, отложенная загрузка картинок и JavaScript блоков, после того как загрузится основная часть);
<li>  Выделение скриптов, который нужно загрузить в первую очередь;
<li> Уменьшение числа элементов в дереве DOM (минимизация числа HTML тэгов на странице);
<li> Разделение контента по разным доменам: статика через отдельный static.domain.com (браузер будет загружать данные параллельно);
<li> Минимизировать число iframe'ов, не использовать в iframe и script src ссылки на чужие ресурсы (блокирует загрузку остальной части страницы);
<li> Недопускать появление 404 ошибки (страница не найдена);
<li> Уменьшить размер Cookie (убрать лишнее, сократить имена, привязать только к необходимым доменам, определить время жизни);
<li> Для вспомогательных страниц исключить установку Cookie (вынос картинок, CSS и скриптов на static.domain.com);
<li> В JavaScript минимизировать обращения к DOM (очень медленная операция), исключить повторяющиеся запросы к DOM через кэширование;
<li> Оптимизировать обработку событий в JavaScript (вместо "onload" использовать DOMContentLoaded, с осторожностью использовать onresize, провести аудит при помощи утилиты YUI Event);
<li> Загружать CSS через "link" вначале страницы, не использовать @import (в IE он приводит к загрузке CSS в самом конце);
<li> Избегать использования фильтров в CSS, они поддерживаются только в IE, лучше использовать PNG8;
<li> Оптимизировать изображения (минимизация размера палитры, переход на PNG, оптимизация через утилиты pngcrush, optipng или pngoptimizer, удаления комментариев в картинках, оптимизация JPEG через jpegtran);
<li> Оптимизация CSS спрайтов (css sprite) для создания фоновых изображений;
<li> Фактический размер изображения должен совпадать с указанным в параметрах width и height (для того чтобы избежать масштабирования);
<li> favicon.ico должен быть небольшим (менее 1 Кб) и кэшируемым (должен выставляться Expires, 9% всех запросов в Yahoo Search приходится на  favicon.ico !);
<li> При использовании Flash нужно определить crossdomain.xml;
<li> Страницы, предназначенные для просмотра на мобильных устройствах, не должны превышать 25Кб (иначе не попадают в кэш iPhone);
<li> Для мобильных устройств можно использовать multipart блоки, когда дополнения к странице (css, картинки) упаковываются в самой странице в виде приложений;
</ol>

URL: http://www.phpied.com/20-new-performance-best-practices/
Обсуждается: http://www.opennet.dev/tips/info/1631.shtml

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


1. "Советы Yahoo по увеличению производительности web-сайтов"  +/
Сообщение от Аноним (1), 26-Мрт-08, 22:52 
п.32 - жесть!
Ответить | Правка | Наверх | Cообщить модератору

3. "Советы Yahoo по увеличению производительности web-сайтов"  +/
Сообщение от hvostingemail (??), 27-Мрт-08, 13:14 
кому жесть, а у кого несколько лет назад самим замечено и так же реализовано.
Ответить | Правка | Наверх | Cообщить модератору

4. "Советы Yahoo по увеличению производительности web-сайтов"  +/
Сообщение от Аноним (-), 07-Апр-08, 11:28 
??) Юзать как минимум для отдачи статики lighttpd или nginx - тогда весьма скромный сервак сможет отгружать ордам народа кучи файлов мегатоннами без особогр напряга :)
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру