Назад | Перейти на главную страницу

Диагностика сбоя сайта только для некоторых пользователей

Я запустил обычный веб-сайт Apache + mod_wsgi + nginx на VDS и столкнулся со странной проблемой. Сайт отлично работает с моего компьютера, а также с компьютера наших менеджеров (которые используют другого интернет-провайдера). Однако некоторые пользователи нашего веб-сайта сообщают менеджерам, что они не могут открыть его в своем браузере в течение длительного периода времени, при этом он работал с моего компьютера и менеджеров.

Возникает вопрос: как мне провести диагностику (если эта ошибка даже по моей вине) и какую ошибку мне следует искать, если для меня невозможно (даже если бы я хотел) обратиться к проблемному пользователю и провести диагностику из их компьютер?

ОБНОВЛЕНИЕ: Спасибо, ребята, за вашу поддержку! Я собираюсь связаться с неисправными клиентами через наших менеджеров, провести с ними предложенные тесты онлайн, а затем при необходимости предоставлю дополнительную информацию.

ОБНОВЛЕНИЕ №2: мне удалось связаться с одним из проблемных клиентов и выполнить диагностику с помощью wirehark. Оказалось, что проблема была вызвана ошибкой в ​​пресловутом скрипте get-iana.sh в Firehol. В результате определенный диапазон IP-адресов был ошибочно идентифицирован как РЕЗЕРВНЫЙ. Все работало нормально ... пока наш местный интернет-провайдер не начал использовать эти IP-адреса для своего динамического пула IP, и некоторые пользователи веб-сайтов не оказались заблокированы. Как следствие, мне кажется, что я не должен был использовать Firehol в первую очередь, поскольку он больше не поддерживается и не поддерживает IPv6. Еще раз спасибо всем за ваши ответы.

Думаю, что проверю в таком порядке:

  1. Убедитесь, что сбойные пользователи действительно достигают веб-сервера с помощью wirehark или tcpdump. (Держу пари, что они этого не делают, и вы, надеюсь, можете обвинить кого-то еще :)
  2. Проверьте скачки нагрузки или другие странные блокировки на сервере, например делать такие вещи, как 'find / -type f', пока пользователи терпят неудачу. Возможно, размонтируйте любые тома NFS, если они есть.
  3. Измерьте круговой обход на веб-сервере, либо включив ведение журнала времени туда и обратно (в Apache это будет LogFormat% D), либо с помощью wirehark, чтобы узнать, используется ли время на сервере или в браузере.
  4. Установите Firebug в Firefox на отказавшем компьютере и посмотрите на его диаграмму сетевого трафика, чтобы увидеть, что занимает много времени (конечно, при условии, что предыдущие шаги показали, что браузер действительно общается с сервером).

РЕДАКТИРОВАТЬ: Даже если вы не можете перейти на сайт неисправных браузеров, возможно, вам поможет удаленный рабочий стол или удаленная помощь?

Хорошей отправной точкой является проверка на уровне сети, если проблема повторяется.

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

Traceroutes может вводить в заблуждение, поэтому, передав его провайдеру, вы получите более четкий ответ.