Оптимизация для сокращения времени загрузки сайта - PullRequest
16 голосов
/ 02 марта 2010

Какие важные оптимизации можно внести на веб-сайт для сокращения времени загрузки?

Ответы [ 14 ]

21 голосов
/ 02 марта 2010

Устранить / минимизировать любые узкие места на стороне сервера. Для этого используйте профилировщик, такой как Xdebug или Zend Debugger, чтобы узнать, где ваше приложение выполняет дорогие и медленные операции. Реализуйте кэширование, где это возможно. Используйте кэш OpCode. Если это все еще не достаточно быстро, подумайте об инвестировании в большее количество ЦП, ОЗУ или твердотельных накопителей (в зависимости от того, привязаны ли вы к ЦП, IO или памяти)

Для общей оптимизации на стороне сервера / клиента см. Yahoo YSlow! Руководство пользователя .

Это в основном суммирует до:

  1. Свернуть HTTP-запросы
  2. Использование сети доставки контента
  3. Добавление заголовка Expires или Cache-Control
  4. Компоненты Gzip
  5. Поместите таблицы стилей вверху
  6. Поместите сценарии внизу
  7. Избегайте выражений CSS
  8. Создание JavaScript и CSS External
  9. Уменьшить поиск DNS
  10. Сокращение JavaScript и CSS
  11. Избегать перенаправлений
  12. Удалить повторяющиеся скрипты
  13. Настройка ETags
  14. Сделать AJAX кэшируемым
  15. Использовать GET для запросов AJAX
  16. Уменьшить количество элементов DOM
  17. Нет 404
  18. Уменьшить размер печенья
  19. Использование доменов без файлов cookie для компонентов
  20. Избегайте фильтров
  21. Не масштабировать изображения в HTML
  22. Сделать favicon.ico маленьким и кэшируемым

Также см. Комментарии, представленные ниже, так как они содержат дополнительную полезную информацию для других пользователей.

3 голосов
/ 02 марта 2010

Прежде чем пытаться выполнить какую-либо оптимизацию, вам нужно иметь возможность профилировать, получите FireBug для Firefox. Затем вы можете выполнить анализ, который точно скажет вам, что делать, используя YSlow . Основные вещи, которые вы должны сделать, перечислены здесь .

2 голосов
/ 10 мая 2010

Мы недавно сделали это на нашем сайте. Здесь мы обрисовали в общих чертах девять методов, которые, казалось, оказали наибольшее влияние с наименьшей сложностью: http://mentormate.com/blog/easy-ways-speed-website-load-time/

2 голосов
/ 02 марта 2010

установить плагин firebug и pagespeed следуйте всем директивам скорости страницы (пока возможно) и будьте счастливы http://code.google.com/intl/it/speed/page-speed/

В любом случае, наиболее важной оптимизацией в моем опыте является сокращение количества HTTP-запросов до минимума ...

2 голосов
/ 02 марта 2010

определенно хочу посмотреть на кеширование, так как поездки в БД обходятся дорого. также минимизировать JS

2 голосов
/ 02 марта 2010

Простые варианты, которые я могу придумать:

  1. Gzip (x) html, поэтому сжатый файл должен быстрее доставляться пользователю
  2. минимизировать CSS
  3. минимизировать JS
  4. по возможности используйте кэширование
  5. использовать сеть доставки контента
  6. используйте инструмент, такой как yslow , чтобы выявить узкие места и дальнейшие предложения
2 голосов
/ 02 марта 2010

При оптимизации можно заботиться о двух сторонах:

  • На стороне сервера: важно генерировать выход быстрее
  • Клиентская сторона: важно получить все, что должно отображаться быстрее.

Примечание: мы, разработчики, часто сначала думаем об оптимизации на стороне сервера ... Что в большинстве случаев составляет менее 10% времени загрузки страницы!


На стороне сервера вы обычно захотите:

  • профиль, чтобы определить, что длиннее
  • оптимизируйте ваши запросы SQL и сократите их количество
  • использовать кеширование

Для получения дополнительной информации, вы можете посмотреть ответ, который я дал на этот вопрос: Оптимизация веб-сайтов на Кохане для скорости и масштабируемости


На стороне клиента самые большие выгоды обычно достигаются:

  • Сокращение количества HTTP-запросов - самый простой способ - уменьшить количество файлов JS / CSS / images, объединяя несколько файлов в один
  • Сжатие CSS / JS / HTML с использованием, например, Apache mod_deflate.

Об этом есть много замечательных вещей о Исключительная производительность Yahoo : они выпустили много хороших новостей и инструментов, таких как yslow .

2 голосов
/ 02 марта 2010

Вот несколько «лучших практик»:

  • Кэширование CSS, JavaScript, изображений и т. Д.
  • Сокращение файлов Javascript.
  • GZIP-контент.
  • По возможности размещайте ссылки на файлы JavaScript, код JavaScript и ссылки на файлы CSS внизу страницы.
  • Загружайте только то, что нужно.
  • Для существующего веб-сайта, прежде чем делать что-либо из этого, определите, где ваши узкие места, с помощью таких инструментов, как Firebug, и, как кто-то еще упомянул YSlow (я настоятельно рекомендую этот инструмент).
1 голос
/ 24 июня 2010

Как уже упоминалось, вы можете использовать расширение Yslow или PageSpeed ​​firefox.Но вы также можете использовать GTmetrix , онлайн-сервис сканирования вашей страницы обоими инструментами.

Функции, которые мне нравятся / используются:

  • мягкое, чистое и удобное представление
  • сравнение с другой страницей.Интересно посмотреть, где находятся ваши друзья / конкуренты.

(кстати, я не связан с gtmetrix!)

1 голос
/ 16 мая 2010
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...