Я наблюдаю очень и очень низкую производительность между моим веб-сервером (который обрабатывает соединения с веб-службами HTTP) и отдельным сервером, на котором работает Microsoft SQL Server 2008. Я собирал пакетный трафик на веб-сервере, пытаясь понять, почему все работает так медленно. Я использую Wireshark для захвата пакетного трафика.
Очевидная проблема заключается в том, что веб-сервер отправляет пакеты TDS на сервер данных - каждый пакет, за которым следует ответ от сервера данных с
Пакет ответа [неверный пакет]
в информационном поле. Пакет, отправленный с веб-сервера, имеет неверную контрольную сумму.
Кто-нибудь видел раньше подобные проблемы? Любые идеи?
Другой возможной причиной этого является перебивание TCP. Попробуйте отключить и на клиенте, и на сервере (конечно, по одному) и посмотрите, решит ли это проблему.
Пакеты TDS (поток табличных данных) представляют собой данные SQL, поэтому тип пакета, который вы видите, - это то, что я ожидал бы от SQL. Тот факт, что пакеты поступают на SQL-сервер с неверной контрольной суммой, заставляет меня думать, что у вас проблема с драйвером или проблема физического уровня на стороне веб-сервера. Начните с физического уровня и постепенно продвигайтесь вверх. Каковы настройки скорости и дуплексного режима на сетевой карте веб-сервера? Соответствуют ли они настройкам порта коммутатора, к которому подключен веб-сервер? Вы отключили сетевой кабель на веб-сервере? Порт коммутатора показывает падения, ошибки CRC и т. Д.? Можете ли вы попробовать другой сетевой адаптер на веб-сервере? После того, как вы их проверили, попробуйте обновить драйвер сетевой карты на веб-сервере.