Устранение неполадок с медленной загрузкой веб-страницы, как это сделать/улучшить?

Я основной разработчик в веб-фирме, но часто заканчиваю тем, что выполняю некоторые действия системного администратора, и мне было интересно, какие ресурсы доступны для обучения тому, как устранять неполадки с медленной загрузкой страниц. Мой опыт работы с инструментами системного администратора почти отсутствует. Я относительно хорошо разбираюсь в командной строке Linux/Unix, но никогда не использовал какое-либо программное обеспечение для отслеживания пакетов и знаю только основы использования dig для разрешения ip. Мой опыт работы с apache и mysql в основном ограничивается начальной настройкой и последующим их использованием.

Существуют ли какие-либо хорошие книги или веб-сайты, которые охватывают темы, необходимые для точной диагностики производительности/узких мест веб-сайта, и если да, то каковы они, или спектр технологий, используемых для больших и опыт/время с использованием технологий, как правило, как люди добиваются успеха в эта штука?


person Aglystas    schedule 30.12.2010    source источник


Ответы (2)


В общем, ничем не заменить опыт. Такая широкая концепция, как «медленная загрузка веб-страницы», может стать узким местом в самых разных местах:

  1. Клиент медленно разрешает IP из домена.
  2. Сеть между клиентом и доменом работает медленно или перегружена.
  3. Сервер медленно отвечает на запрос.
  4. Запрашиваемая страница большая.
  5. Запрошенные ресурсы, встроенные в страницу, велики.
  6. Страница содержит серверный код, который требует значительной обработки.
  7. База данных медленно отвечает.
  8. Страница манипулирует большим количеством данных, прежде чем ответить.
  9. Отрендеренная страница на клиенте содержит много кода и работает медленно.
  10. и т.п.

Для любой конкретной страницы важно знать, где могут находиться узкие места, и определить, что это за узкие места являются, чтобы их устранить. Очень важно иметь полное представление обо всем, что происходит от начала до конца при «загрузке страницы». Выявление закономерностей медленной загрузки нескольких разрозненных запросов поможет сузить потенциальные узкие места. и т.п.

Это очень индивидуальный сценарий.

person David    schedule 30.12.2010

Вы определили, где именно проблемы? Медленная загрузка может быть вызвана чем угодно, например:

  1. слишком много происходит в dom/js
    а) не кеширует js или другие ресурсы на клиенте
    б) не минифицирует/сжимает ресурсы
    в) делает слишком много запросов с помощью ajax/делает глупости в Браузер любит перерисовывать дом, которому это не нужно.
  2. слишком много всего происходит на сервере
    а) нет кеша в таблицах базы данных, нет индексов
    б) асинхронная обработка длительных задач
    в) неправильно настроенные прокси/серверы apache

  3. проблемы с сетью - хотел бы я знать больше об этом.

Шаг 1 всегда заключается в том, чтобы выяснить, где самое сильное замедление. Сделайте некоторые метрики на сервере, чтобы убедиться, что он делает простые вещи быстро. И сложные вещи достаточно быстро. Посмотрите в браузере, сколько времени занимает загрузка ресурсов. Посмотрите в профилировщиках chrome/firebug, чтобы узнать, сколько времени требуется для запуска javascript.

Вероятно, вы найдете кучу вещей, которые можно было бы улучшить. Расставляйте приоритеты и решайте проблемы...

person hvgotcodes    schedule 30.12.2010