sql >> Database teknologi >  >> RDS >> Sqlserver

SQL-forbindelse venter 15 sekunder på trods af 3 sekunders timeout i forbindelsesstrengen

Der er en timeout, før netværkshardwaren rapporterer forbindelsestimeout til netværksdriverne, som igen giver besked til de programmer, der venter på netværks-IO. Du kan bekræfte transportlags timeouts via telnet-servernavn 1433 (forudsat at din sql-server lytter på port 1433).

Men 3 sekunder er alt for kort til en proces til at initialisere netværks-API'erne (forudsat at din webapp er i sin egen applikationspulje), sende anmodning og vente på, at hardwaren får timeout. Opdatering af BIOS/firmware/driver vil sandsynligvis ikke reducere responstiden så meget.

Det ville være bedre at udføre forbindelsen asynkront. Jeg foreslår ikke at bruge EndInvoke til at afslutte det asynkrone opkald, da uheldige brugere muligvis stadig skal vente 3 hele sekunder for at se noget svar, når databasen er nede. Måske er et Ajax-opkald bedre. Hvis du har mange brugere, der konstant rammer dit websted, vil du måske cache resultatet af forbindelseskontrol og opdatere det på en måde, der giver mening for dine brugere.



  1. Ting at vide om databasedrevne websteder

  2. Hvordan vil jeg rette en select-sætning til at forespørge i denne database?

  3. Hvordan får du den næste kommende dato fra et bord?

  4. FUNCTION SUM eksisterer ikke