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

огромные потери пакетов и ошибки контрольной суммы

Наш сервер 2008 года стал очень медленно работать в течение 2 недель. Наши веб-сайты (iis 7.5) загружаются очень медленно, а иногда и зависают. Мы начали тестирование с wirehark и увидели, что наши пакеты теряются во время передачи. Клиент запрашивает одни и те же пакеты несколько раз, пожалуйста, проверьте ниже.

(КЛИЕНТ): 11 3.492500 Клиент-сервер TCP 54 61220> http [ACK] Seq = 316 Ack = 5521 Win = 66240 Len = 0 (СЕРВЕР): 12 3.495204 Клиент сервера TCP 1434 [Предыдущий сегмент TCP потерян] [сегмент TCP повторно собранного PDU]

(КЛИЕНТ):13 3.495225 Клиент-сервер TCP 66 [TCP Dup ACK 11 # 1] 61220> http [ACK] Seq = 316 Ack = 5521 Win = 66240 Len = 0 SLE = 6901 SRE = 8281

**** (СЕРВЕР): *** 14 3.604038 Серверный клиент TCP 1434 [сегмент TCP повторно собранного PDU]

** (КЛИЕНТ): *** 15 3.604062 Клиент-сервер TCP 66 [TCP Dup ACK 11 # 2] 61220> http [ACK] Seq = 316 Ack = 5521 Win = 66240 Len = 0 SLE = 6901 SRE = 9661

** (СЕРВЕР): *** 16 3.606074 Клиент сервера TCP 1434 [Предыдущий сегмент TCP потерян] [сегмент TCP повторно собранного PDU] ...

** (КЛИЕНТ): *** 23 3,714810 Клиент-сервер TCP 74 [TCP Dup ACK 11 # 6] 61220> http [ACK] Seq = 316 Ack = 5521 Win = 66240 Len = 0 SLE = 11041 SRE = 16561 SLE = 6901 SRE = 9661

** (СЕРВЕР): *** 24 3,718211 Клиент сервера TCP 1434 [Быстрая повторная передача TCP] [сегмент TCP повторно собранного PDU]

Мы подробно проверили кадры и увидели, что большинство ошибок - это «ошибки разгрузки контрольной суммы IP». когда мы отключаем «Разгрузку контрольной суммы» на нашем сетевом адаптере, мы начали получать много «подозреваемых передач», а сервер все еще работает медленно. Интересно то, что на одном из наших IP-адресов на нашем сервере мы не получаем эту ошибку, и веб-сайты, использующие этот IP-адрес, работают достаточно быстро.

Ты хоть представляешь, что происходит?

Многие проблемы с производительностью TCP сводятся к очень простым проблемам с постоянной потерей пакетов; даже незначительные потери (0,5%) могут вызвать серьезные проблемы для TCP.

Пожалуйста, скачайте winmtr и установите его на свой сервер Windows 2008; это бесплатная утилита, которая отслеживает потерю пакетов на каждом переходе. Запустите это в отношении пунктов назначения, в которых возникают проблемы с пропускной способностью. Ваша цель - обеспечить стабильную потерю пакетов в течение как минимум 10-15 минут; иногда я позволяю ему работать часами, чтобы поймать прерывистую потерю пакетов на прыжке. Когда вы видите переход, на котором начинается потеря пакетов, и затем продолжается на всех переходах, это место, с которого можно начать поиск проблем.

Пример:

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

Имейте в виду, что winmtr полагается на сообщения об ошибках ICMP от маршрутизаторов, поэтому

  • Коммутаторы Ethernet не отображаются как явный переход на пути, но все же могут способствовать потере пакетов
  • Некоторые маршрутизаторы ограничивают скорость (или даже фильтруют) сообщения об ошибках ICMP, поэтому переходы, которые не показывают последовательную потерю пакетов после них, могут просто достичь своего предела скорости (или настроены для фильтрации ошибок ICMP)
  • Брандмауэры могут препятствовать видимости через них