Наш сервер 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 от маршрутизаторов, поэтому