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

Случайная трехминутная задержка для подключения к серверу базы данных

мы используем InterBase на сервере Windows 2003, и через случайные промежутки времени клиентское соединение с сервером занимает на 180 секунд (три минуты) больше, чем обычно. Приложение не "зависает" с обычным предупреждением Windows в строке заголовка и успешно продолжает работу после задержки.

Теперь скорость, похоже, увеличилась с тех пор, как в сеть были добавлены некоторые серверы Windows 2008.

Поскольку другие приложения в сети не имеют подобных «зависаний», я подозреваю, что (виртуальная) машина или сам процесс сервера. Мы без проблем используем одну и ту же версию клиентского и серверного программного обеспечения базы данных InterBase в другой сети, поэтому меня в первую очередь интересует сеть (TCP / IP) машины. По той же причине я не думаю, что это проблема DNS, или это другой кандидат?

Есть ли возможные технические объяснения такой задержки, например, как следствие полной очереди сетевого буфера, для такой задержки?

netstat -s показывает неудачные попытки подключения, получено ноль отброшенных датаграмм.

IPv4-Statistik

  Empfangene Pakete                    = 1267651308
  Empfangene Vorspannfehler            = 0
  Empfangene Adressfehler              = 44827
  Weitergeleitete Datagramme           = 0
  Empfangene unbekannte Protokolle     = 0
  Empfangene verworfene Pakete         = 0
  Empfangene übermittelte Pakete       = 1267651006
  Ausgabeanforderungen                 = 1097296840
  Verworfene Routingpakete             = 0
  Verworfene Ausgabepakete             = 0
  Ausgabepakete ohne Routing           = 0
  Reassemblierung erforderlich         = 14
  Reassemblierung erfolgreich          = 7
  Reassemblierung erfolglos            = 0
  Erfolgreiche Datagrammfragmentierung = 7
  Erfolglose Datagrammfragmentierung   = 0
  Erzeugte Fragmente                   = 14

ICMPv4-Statistik

                            Empfangen Gesendet
  Meldungen                 26579       26678
  Fehler                    0           0
  Ziel nicht erreichbar     0           95
  Zeitüberschreitung        0           0
  Parameterprobleme         0           0
  Quelldrosselung           0           0
  Umleitungen               0           0
  Echos                     60          26523
  Echoantworten             26519       60
  Zeiteinträge              0           0
  Zeiteintragantworten      0           0
  Adressmasken              0           0
  Adressmaskenantworten     0           0

TCP-Statistik für IPv4

  Aktiv geöffnet                      = 69080
  Passiv geöffnet                     = 16751143
  Erfolglose Verbindungsversuche      = 363
  Zurückgesetzte Verbindungen         = 633
  Aktuelle Verbindungen               = 11
  Empfangene Segmente                 = 1265427823
  Gesendete Segmente                  = 1096717835
  Erneut übertragene Segmente         = 570293

UDP-Statistik für IPv4

  Empfangene Datagramme = 2136945
  Keine Anschlüsse      = 98648
  Empfangsfehler        = 2680
  Gesendete Datagramme  = 50088

Одна из вещей, на которую я всегда обращаю внимание, когда вижу зависание соединения, - это сбой обратного поиска DNS. Многие приложения пытаются разрешить DNS-имя подключающегося клиента сразу после принятия сокета на стороне сервера. Когда DNS не разрешается должным образом, вы можете столкнуться с зависанием, после которого все будет нормально работать без проблем. Я наблюдал это в самых разных прикладных сервисах. Задержка в 3 минуты, о которой вы упомянули, действительно кажется слишком большой для этого сценария. Типичная задержка подключения, которую я вижу, составляет менее 1 минуты.

Проблема исчезла, когда мы переустановили сервер базы данных.