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

Как определить, почему сайт работает медленно?

Мне задали этот вопрос один раз в интервью:

"Предположим, у вас есть веб-сайт, на котором сервер находится в каком-то удаленном месте. В один прекрасный день некоторые пользовательские вызовы/сообщения электронной почты, которые вы говорите на сайте, отвратительно медленны. Как бы вы определили, почему сайт медленный? Также, когда вы проверяете веб-сайт, как любой пользователь (используя ваш браузер), сайт ведет себя отлично".

Я мог думать только об одном (который был сбит):

  • Проверьте журналы сервера для анализа входящего трафика. Возможно, DoS-атака или исключительно высокий трафик. Интервьюер сказал мне предположить, что у сервера нормальный трафик и нет DoS.

Я был потерян, потому что я никогда не думал об этой проблеме. Я почти не знаю, как работает сервер/веб-сайт. Поэтому, если кто-то может выделить несколько подходов, было бы неплохо.

Во время поиска в google, я мог найти только эту важную, замечательную статью. Эта статья для меня сейчас слишком технична, но я медленно разрушаю ее и понимаю ее.

4b9b3361

Ответ 1

Поскольку вы уже сказали, когда вы проверяете сайт самостоятельно, скорость в порядке, это означает, что (по крайней мере, для страниц, которые вы отметили) нет ничего плохого в сервере, и он может обслуживать эти страницы с хорошей скоростью. То, что вы должны понять на этом этапе, заключается в том, что разница между вами и пользователем, который сообщает о вашем сайте, медленный. Это может быть много чего:

  • Использует ли пользователь медленное сетевое соединение (например, мобильный)?
  • У пользователя возникают те же проблемы с другими веб-сайтами, размещенными на одном веб-хосте? Если это так, это может указывать на сетевую проблему. Обычно это также может указывать на проблему с ресурсами на веб-сервере, но в этом случае сайт также будет медленным для вас.
  • Если ни одно из приведенных выше не приводит к ответу, вы можете предположить, что соединение с сервером и самим сервером в порядке. Это означает, что проблема должна быть в пользовательском устройстве. Узнайте, какой браузер/ОС он использует и пытается воспроизвести проблему. Если это не удается выяснить, использует ли он какой-либо антивирус или подобное программное обеспечение, которое может вызвать проблемы.

Ответ 3

Обычно пользователь берет время загрузки страницы в качестве меры, чтобы узнать, что сайт медленный. Но если вы действительно хотите знать, что максимальное время, вы можете открыть отладчик браузера, нажав f12. если ваш браузер Chrome, нажмите на сеть и посмотрите, что вызывает ваше приложение, и которые занимают максимальное время. Если вы используете Firefox, вам нужно установить firebug. Если у вас есть это, затем снова нажмите f12 и нажмите "Сеть".

Ответ 4

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

Ответ 5

Я думаю, что одна из важных вещей, которые отсутствуют в ответах выше, - это расположение сервера, которое может играть важную роль в производительности сети.

Когда кто-то говорит, что требуется больше времени, чтобы открыть веб-страницу, что означает высокую задержку. Высокая задержка может быть вызвана из-за расположения сервера. Предположим, что, поскольку вы являетесь владельцем веб-страницы, сервер и клиент находятся в совместном размещении, поэтому он будет иметь низкую задержку.

Но теперь, если клиент находится через границу, время латентности резко возрастет. И, следовательно, медленное исполнение.

Другим фактором является кэширование, которое резко влияет на время ожидания.

Используя пример facebook, у них есть сервер во всем мире, чтобы сократить время ожидания (а также предоставить несколько других преимуществ), и они используют огромную систему кэширования для кэширования своих горячих данных (трендовые темы), тогда как холодные данные (старые данные) хранятся на жестком диске, поэтому для загрузки более старой фотографии или сообщения требуется больше времени. Таким образом, пользователь мог бы пожаловаться на это, поскольку они пытались загрузить некоторые холодные данные.

Ответ 6

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

Ответ 7

Я могу думать об этих нескольких причинах (первые два уже упомянуты выше):

  • Высокая задержка из-за расположения клиента
  • Возможно, потребуется увеличить память сервера.
  • Количество вызовов службы со страницы.
  • Если служба может быть недоступна во время подачи жалобы, это может помешать загрузке страницы.
  • Загрузка сервера может быть слишком высокой во время плохой работы. Серверу, возможно, потребуется увеличить ресурсы (например, добавить в кластер другой сервер/веб-сервер).
  • Проверить, выполнялось ли какое-либо фоновое задание на сервере в то время.

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

Надеюсь на эту помощь.

Ответ 8

Обычно это проблема с памятью, и ее можно решить, увеличив размер кучи веб-сервера, на котором размещено приложение. В случае, если приложение запущено на Weblogic Server. Размер кучи можно увеличить в файле "setEnv", расположенном в Application Home. Удачи! Майкл Оребе