Hvad er forbindelsespooling?
Forbindelsespooling er udtrykket for styring af forbindelserne til brugere, der foretager forespørgsler af databaser. Selvom mange brugere måske ikke bemærker det, når der er et stort antal brugere, der søger adgang til en applikationsserver, hvorpå en database er bosiddende, kan det store antal forbindelser blive næsten umuligt for en server at opretholde en god forbindelse med alle forbindelserne på disse tidspunkter. Software Engineering, der muliggør forbindelsespooling, gør det muligt for en server at styre forbindelser godt uanset det høje mængde forbindelser, der foretager forespørgsler og muliggør respons på disse forespørgsler med hastigheder under sekund.
Forbindelser skal være af identisk konfiguration for at blive inkluderet i en forbindelsespool, så de fleste serverforbindelsespooling -programmer har forskellige forbindelsespuljer, der kører samtidig. Når en bruger forsøger at oprette forbindelse, tildeles han eller hun til en pool med lignende konfigurationer, hvis der er plads. Hvis der ikke er plads til rådighed, er anmodningen i kø til at blive tildelt, så snart man kommer til rådighed. En bruger er muligvis ikke opmærksom på, at han eller hun er i en kø, men kan simpelthen bemærke, at databasen virker langsom i forespørgselsrespons; I back office for databasestyringssystemer er der imidlertid scanning af puljerne for at finde plads til brugeren til at finde en åben forbindelse. De fleste forbindelsespoleringsprogrammer har en fast liste over maksimale brugere pr. Pulje og minimumsmængder af tidsindstillinger, som en forbindelse kan forblive inaktive, før forbindelsen falder, og tilgængeligheden returneres til poolen.
Ved oprettelsen af en forbindelsespool oprettes og føjes et vist antal forbindelsesobjekter til poolen. For at en pulje skal betragtes som aktiv, har den brug for et minimum af antal objekter. Disse forbindelsesobjekter er de tilgængelighedssæder, der binder en forbindelse til poolen, og de kan oprettes og føjes til poolen efter behov op til det maksimale tilladte tilladteinden for en pool. Når brugere er tilfredse med deres forespørgsel og slipper deres forbindelsesobjekt, returneres objekterne til poolen ved forbindelsespølgeprogrammerne til brug af en anden bruger eller den samme bruger, når han eller hun vender tilbage.
En faktor, der kan bremse responstider i forbindelse med pooling, er det, der kaldes poolfragmentering. poolfragmentering forekommer normalt på grund af integreret sikkerhed eller for mange databaser, der er bosiddende på et eksisterende sæt servere. Et databasestyringssystem, der autentificerer brugere og derefter køer eller tildeler dem til eksisterende forbindelsespoolobjekter, dræner hukommelsen, og et strammere systemdesign til adgang renser ofte op for det for mange-databaser. Det integrerede sikkerhedssystemdesign af Windows-baserede programmer i mange forbindelsespoolsprogrammer kræver, at kun en Windows-baseret bruger er bosiddende inden for en pool ad gangen. Dette kan ryddes op ved oprettelse af flere puljer for at imødekomme yderligere anmodninger, der skal besvares samtidigt.
Hvis forbindelsespooling-programmet registrerer en bruger har været inaktiv ud over et bestemt tidsrum, eller forbindelsen er blevet afskåret, vil det returnere forbindelsesobjektet til poolen som et ugyldigt objekt. Hvis en server går ned, mens en forbindelse er i kraft, kan forbindelsen stadig trækkes tilbage, selvom forbindelsespuljen ikke er opmærksom på den afskårne forbindelse. ActiveX Connection-Pool-programmer fortsætter derefter med at rydde puljen af disse forbindelser, når serveren genstartes.