Каковы некоторые важные оптимизации, которые могут быть сделаны на веб-сайте, чтобы сократить время загрузки?Оптимизация для сокращения времени загрузки веб-сайта
ответ
Удалите/скройте все узкие места на стороне сервера. Для этого используйте профилировщик, например Xdebug или Zend Debugger, чтобы узнать, где ваше приложение выполняет дорогостоящие и медленные операции. Реализуйте кеширование, где это возможно. Используйте кеш OpCode. Если это еще не достаточно быстро, подумайте о том, чтобы инвестировать в большее количество CPU или RAM или SSD (в зависимости от того, являетесь ли вы процессором, IO или памятью)
Для общих оптимизаций на стороне сервера/клиента см. Yahoo YSlow! User Guide.
Это в основном подводит его к:
- Минимизация HTTP запросов
- Использовать сеть доставки контента
- Добавить Истекает или заголовок Cache-Control
- Gzip Компоненты
- Поместите StyleSheets в начало
- Положите скрипты в нижней части
- Избегайте CSS выражений
- Сделать JavaScript и CSS Внешний
- Сокращение DNS-запросы
- Минимизировать JavaScript и CSS
- Избегайте Перенаправление
- Удалить дубликаты Сценарии
- Настройка ETags
- сделать AJAX Cacheable
- Использование GET для запросов AJAX
- Уменьшайте Количество DOM элементов
- Нет
Ошибки 404- Уменьшить размер Cookie
- Использование Cookie-Free Domains для компонентов
- Избегайте Фильтры
- Не масштабировать изображения в HTML
- сделать favicon.ico Маленький и Cacheable
Также см. комментарии, представленные ниже, поскольку они содержат некоторые dditional полезная информация для других пользователей.
Также проверьте Google»PageSpeed HTTP://code.google.com/speed/page-speed/ - хорошая альтернатива/дополнение к YSlow и также аддон Firebug. Он ловит некоторые вещи, которые YSlow не делает, и наоборот. –
Еще одна вещь: использовать сеансы в памяти, если вы контролируете достаточное количество серверов для установки дополнительных плагинов и достаточного количества оперативной памяти. Плагин memcache включает обработчик сеанса. http://php.net/memcache – Powerlord
Хороший ответ. Все это объяснено более подробно на этой (отличной) статье Yahoo: http://developer.yahoo.com/performance/rules.html –
Вот несколько "наилучшей практики" вещи:
- Кэширование CSS, JavaScript, изображения и т.д.
- Минимизация Javascript файлов.
- gzip содержание.
- Поместите ссылки на файлы JavaScript, код JavaScript и ссылки на файлы CSS внизу вашей страницы.
- Загрузите только то, что необходимо.
- Для существующего веб-сайта перед тем, как вы это сделаете, определите, где ваши узкие места с такими инструментами, как Firebug, и как кто-то еще упомянул YSlow (я настоятельно рекомендую этот инструмент).
Есть две стороны вы можете заботиться о, при оптимизации:
- на сторону сервера: важно то, генерирование вывода быстрее
- Клиент сторона: то, что имеет значение получает все, что должно будет отображаться быстрее.
Примечание: мы, как разработчики, часто думаем об оптимизации серверной стороны ... В большинстве случаев это составляет менее 10% от времени загрузки страницы!
На стороне сервера, вы вообще хотите:
- профиль, чтобы определить, что долго
- оптимизации запросов SQL, и уменьшить их количество
- использование кэширования
Для получения дополнительной информации вы можете взглянуть на ответ, который я дал некоторое время назад на этот вопрос: Optimizing Kohana-based Websites for Speed and Scalability
На стороне клиента, самые большие выгоды, как правило, достигается за счет:
- Уменьшение количества HTTP запросов - самый простой способ в том, чтобы уменьшить количество JS/CSS/файлы изображений, с помощью объединение нескольких файлов в один
- Сжатие CSS/JS/HTML, используя, например, Apache
mod_deflate
.
О том, что есть много хороших вещей на Yahoo's Exceptional Performance: они выпустили много good pratices и инструментов, таких как yslow.
простые варианты я могу думать о том, являются:
- Gzip (X) HTML, поэтому сжатый файл должен прибыть более быстро к пользователю
- преуменьшать СМЧ
- преуменьшать, ИС
- использовать кеширование, где возможно
- использовать сеть доставки контента
- используйте инструмент, например yslow, чтобы определить узкие места и дальнейшие предложения
@bn, действительно, отредактирован для исправления. Спасибо =] –
определенно хотите посмотреть на кеширование, поскольку круглые поездки в DB дороги. также, minify JS
Чтобы уменьшить сетевой трафик, вы можете минимизировать статические файлы, такие как CSS и Javascript, и использовать сжатие gzip для сгенерированного контента. Вы также можете попробовать использовать такие инструменты, как optipng, чтобы уменьшить размер изображений.
Однако первый шаг - фактически проанализировать, что происходит в любое время - независимо от того, отправляет ли он по сети или фактически генерирует отправляемый контент. Нет смысла делать ваши файлы CSS на 10% меньше, если для создания каждой HTML-страницы требуется минута.
Балансировка нагрузки поможет уменьшить время загрузки.
Нет, это не так, почти во всех случаях. – MarkR
Первая оптимизация: решить, если она медленная, а если нет, не беспокойтесь.
Это сложнее, чем кажется, потому что это не похоже на тестирование настольного приложения или игры. Игра медленная, если при воспроизведении на целевом оборудовании частота кадров слишком низкая. Это очень легко измерить.
Веб-сайт сложнее, поскольку вы, как разработчик, вероятно, используете локальную тестовую систему с очень быстрой сетью. Даже если вы используете тестовые серверы для установки/системы, вы, вероятно, все еще находитесь в локальной сети. Даже ваши серверы производства, по всей вероятности, находятся на одном континенте.
То же самое возможно не так для многих пользователей.
Поэтому варианты, которые существуют являются:
- Узнай, спрашивая пользователь, найти ли они, что это будет медленно
- Имитировать высокую среду задержки и проверить это самостоятельно (или вашу команду QA)
- Guesswork
Последнее не рекомендуется.
Вариант, в котором книга исполнения хостинга «Сайлер Сайта» (да, это книга, которую вы можете купить) не упоминает много, это HTTPS. Большинство веб-приложений, которые обрабатывают важные данные, работают в основном или полностью по HTTPS, что значительно изменяет правила игры. Не забудьте сделать все тестирование с включенным.
установить поджигатель и PageSpeed плагину не следует всем директивам PageSpeed (пока это возможно) и быть счастливым http://code.google.com/intl/it/speed/page-speed/
в любом случае наиболее оптимизации в моем Важном опыте, чтобы уменьшить количество HTTP запросов к минимуму ...
Не используйте пробелы в коде.
Мы недавно сделали это на нашем веб-сайте. Здесь мы выделили девять методов, которые, казалось, имеют наибольшее влияние с наименьшими трудностями: http://mentormate.com/blog/easy-ways-speed-website-load-time/
я написал кое-что о, см:
Как уже упоминалось, вы можете использовать YSlow или PageSpeed светлячок расширение. Но вы также можете использовать GTmetrix, онлайн-сервис, сканирующий вашу страницу с помощью обоих инструментов.
Особенности Мне нравится/использование:
- мягкой, чистой и полезной presention
- сравнение с другой страницы. Очень интересно посмотреть, где ваши друзья/конкуренты.
(кстати, я не связан с gtmetrix!)
- 1. Оптимизация времени загрузки presentModalViewController:
- 2. Способы сокращения времени загрузки wxPython GUI
- 3. Оптимизация времени загрузки php-страницы
- 4. Оптимизация времени загрузки формы Windows
- 5. Оптимизация сокращения CUDA
- 6. Способы сокращения времени загрузки Jquery при медленных подключениях к Интернету
- 7. Оптимизация времени загрузки изображений. (мышление по-другому)
- 8. Android: Оптимизация времени загрузки пользовательского вида
- 9. Оптимизация времени загрузки и кэширования SharePoint
- 10. Сокращения времени пояснения
- 11. 3 вебсайта 1 Проект
- 12. Стратегия сокращения времени gettimeofday?
- 13. 1 домен 2 вебсайта
- 14. Оптимизация времени загрузки в CSS для вложенных элементов списка
- 15. Операторы if-else для сокращения времени обработки
- 16. Оптимизация функции ядра на основе сокращения parellel
- 17. Сокращения времени в Windows ASP.NET
- 18. Способы сокращения времени создания приложения/отладки
- 19. Использование C++ - AMP для сокращения времени выполнения несортированного векторного поиска
- 20. Как спящий режим .net для сокращения времени запуска?
- 21. Оптимизация времени загрузки при поддержке браузеров с отключенным JavaScript
- 22. Оптимизация скорости загрузки xstream
- 23. UITableView ленивая оптимизация загрузки
- 24. Оптимизация загрузки: запрос отправлен
- 25. Оптимизация загрузки файла
- 26. Оптимизация загрузки фида
- 27. Laravel оптимизация ленивой загрузки
- 28. оптимизация загрузки файлов cgi
- 29. Сортировка времени Оптимизация
- 30. Оптимизация времени работы GC
Мои все время избр http://www.alistapart.com/articles/sprites – Ally