Подтвердить что ты не робот

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

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

4b9b3361

Ответ 1

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

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

В основном это суммируется до:

  • Свернуть запросы HTTP
  • Использование сети доставки контента
  • Добавить истечение срока действия или заголовок управления кэшем
  • Компоненты Gzip
  • Поместите StyleSheets вверху
  • Поместите скрипты в нижнюю часть
  • Избегать CSS-выражений
  • Сделать JavaScript и CSS внешними
  • Уменьшить поиск DNS
  • Свернуть JavaScript и CSS
  • Избегать перенаправления
  • Удалить повторяющиеся скрипты
  • Настройка ETags
  • Сделать AJAX Cacheable
  • Используйте GET для запросов AJAX
  • Уменьшить количество элементов DOM
  • Нет 404s
  • Уменьшить размер файла cookie
  • Использование Cookie-Free доменов для компонентов
  • Избегайте фильтров
  • Не масштабировать изображения в HTML
  • Сделать favicon.ico Small и Cacheable

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

Ответ 2

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

Ответ 3

Вот несколько примеров "лучшей практики":

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

Ответ 4

Есть две стороны, о которых вы можете заботиться, при оптимизации:

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

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


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

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

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


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

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

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

Ответ 5

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

  • Gzip (x) html, поэтому сжатый файл должен прибыть быстрее пользователю
  • минимизировать CSS
  • минимизировать JS
  • используйте кеширование, где это возможно.
  • используйте сеть доставки контента.
  • используйте инструмент, например yslow для выявления узких мест и дальнейших предложений

Ответ 6

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

Ответ 7

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

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

Ответ 8

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

Ответ 9

Первая оптимизация: решите, если она медленная, а если нет, не беспокойтесь.

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

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

То же самое возможно не для многих пользователей.

Поэтому существуют следующие варианты:

  • Узнайте, спрашивая у ваших пользователей, обнаруживают ли они, что они медленные.
  • Имитировать среду с высокой задержкой и протестировать ее самостоятельно (или вашу команду QA).
  • Догадки

Последнее не рекомендуется.

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

Ответ 11

Как уже упоминалось, вы можете использовать расширение Firefox для Firefox или PageSpeed. Но вы также можете использовать GTmetrix, онлайн-сервис, просматривающий вашу страницу с помощью обоих инструментов.

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

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

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

Ответ 12

Чтобы уменьшить сетевой трафик, вы можете минимизировать статические файлы, такие как CSS и Javascript, и использовать сжатие gzip для сгенерированного контента. Вы также можете попробовать использовать такие инструменты, как optipng, чтобы уменьшить размер изображений.

Тем не менее, первый шаг к тому, чтобы фактически проанализировать, какое время занимает все время - отправляет ли он биты по сети или фактически генерирует отправляемый контент. Нет смысла делать ваши файлы CSS на 10% меньше, если для создания каждой HTML-страницы требуется минута.

Ответ 13

Не используйте пробелы в коде.

Ответ 14

Балансировка нагрузки поможет уменьшить время загрузки.