Co to jest łączenie połączeń?

Pule połączeń to termin na zarządzanie połączeniami użytkowników wykonujących zapytania do baz danych. Chociaż wielu użytkowników może tego nie zauważyć, gdy duża liczba użytkowników szuka dostępu do serwera aplikacji, na którym znajduje się baza danych, sama liczba połączeń może stać się prawie niemożliwa do utrzymania przez serwer dobrego połączenia ze wszystkimi połączeniami w te czasy. Inżynieria oprogramowania, która umożliwia tworzenie puli połączeń, umożliwia serwerowi dobre zarządzanie połączeniami niezależnie od dużej liczby połączeń wysyłających zapytania i umożliwia odpowiadanie na te zapytania z szybkością poniżej sekundy.

Połączenia muszą mieć identyczną konfigurację, aby mogły zostać uwzględnione w puli połączeń, więc większość programów do puli połączeń serwera ma różne pule połączeń działające jednocześnie. Gdy użytkownik chce się połączyć, jest przypisywany do puli o podobnych konfiguracjach, jeśli jest dostępne miejsce. Jeśli nie ma dostępnego miejsca, żądanie jest umieszczane w kolejce, aby zostać przydzielone, gdy tylko pojawi się dostępne. Użytkownik może nie być świadomy, że jest w kolejce, ale może po prostu zauważyć, że baza danych wydaje się powolna w odpowiedzi na zapytanie; jednak na zapleczu systemów zarządzania bazami danych następuje skanowanie pul w celu znalezienia miejsca, w którym użytkownik może znaleźć otwarte połączenie. Większość programów do puli połączeń ma ustawioną listę maksymalnej liczby użytkowników na pulę i minimalne ustawienia czasu, przez które połączenie może pozostać nieaktywne, zanim połączenie zostanie zerwane, a dostępność zostanie zwrócona do puli.

Podczas tworzenia puli połączeń jest tworzona i dodawana do puli pewna liczba obiektów połączeń. Aby pula została uznana za aktywną, potrzebuje minimalnej liczby obiektów. Te obiekty połączeń są stanowiskami dostępności, które wiążą połączenie z pulą i mogą być tworzone i dodawane do puli zgodnie z potrzebami do maksymalnej dopuszczalnej wartości w ramach puli. Ponieważ użytkownicy są zadowoleni ze swoich zapytań i porzucają swój obiekt połączenia, obiekty są zwracane do puli przez programy zestawiania połączeń do użycia przez innego użytkownika lub tego samego użytkownika po powrocie.

Jednym z czynników, który może spowolnić czasy odpowiedzi w puli połączeń, jest tak zwana fragmentacja puli. Fragmentacja puli zwykle występuje z powodu zintegrowanych zabezpieczeń lub zbyt wielu baz danych znajdujących się na istniejącym zestawie serwerów. System zarządzania bazą danych, który uwierzytelnia użytkowników, a następnie ustawia ich w kolejce lub przypisuje do istniejących obiektów puli połączeń, powoduje zużycie pamięci, a ściślejszy projekt systemu dostępu często rozwiązuje problem zbyt wielu baz danych. Zintegrowany projekt systemu zabezpieczeń programów opartych na systemie Windows w wielu programach zestawiania połączeń wymaga, aby tylko jeden użytkownik systemu Windows znajdował się w puli w danej chwili. Można to wyjaśnić, tworząc więcej pul, aby uwzględnić dodatkowe żądania wymagające jednoczesnej odpowiedzi.

Jeśli program zestawiania połączeń wykryje, że użytkownik był bezczynny przez określony czas lub połączenie zostało zerwane, zwróci obiekt połączenia do puli jako obiekt nieprawidłowy. Jeśli serwer ulegnie awarii, gdy połączenie jest aktywne, połączenie nadal może zostać wycofane, nawet jeśli pula połączeń nie jest świadoma zerwanego połączenia. Programy puli połączeń ActiveX zwykle przystępują do czyszczenia puli tych połączeń po ponownym uruchomieniu serwera.