Windows
數據庫伺服器連接隨機延遲三分鐘
我們在 Windows 2003 伺服器上使用 InterBase,在隨機時間間隔內,客戶端與伺服器的連接比平時長 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 分鐘。