Koncepty dotyczące bram aktywacyjnych COM+ Low-Memory
Ogólnie rzecz biorąc, synchronizacja nie jest wymagana, gdy masz jednowątkowy apartament (STA), ponieważ mieszkanie zapewnia synchronizację. Synchronizacja staje się ważna, gdy masz wielowątkowy apartament (MTA) i obiekt swobodnie wątkowany. W przeszłości obiekty wielowątkowe musiały obsługiwać zarządzanie blokadą. Można wyeliminować konieczność używania blokady, ustawiając atrybut synchronizacji dla składnika.
Problemy z niezawodnością często występują, gdy zasoby serwera nie mogą efektywnie reagować na szczytowe obciążenia. Gdy serwer nie ma wystarczającej ilości zasobów fizycznych, aby sprostać szczytowemu zapotrzebowaniu, może wyczerpać pamięć wirtualną. Stanie się to problemem, jeśli kod użytkownika lub kod systemowy nie obsługują prawidłowo błędów alokacji pamięci. Serwer zaczyna spowalniać, a w miarę wyczerpania pamięci alokacje pamięci kończą się niepowodzeniem. Serwer wykonuje ścieżki błędów w celu obsługi błędów alokacji. Jeśli ścieżka błędu zawiera błąd w systemie lub kodzie użytkownika działającego na serwerze, niezwykle trudno jest bezpiecznie wykryć i obsłużyć.
Com+ próbuje zapobiec sytuacjom, w których te ścieżki błędów muszą być wykonywane na serwerze. Dzięki funkcji bram aktywacji z małą ilością pamięci com+ aktywnie monitoruje obciążenie pamięci w systemie i zapewnia, że rozsądna ilość pamięci jest dostępna przed wykonaniem kodu użytkownika. Jeśli procent pamięci wirtualnej dostępnej dla aplikacji spadnie poniżej stałego progu, aktywacja zakończy się niepowodzeniem przed utworzeniem aplikacji lub obiektu serwera COM+ (jak pokazano na poniższej ilustracji). W przypadku niepowodzenia tych aktywacji, które normalnie byłyby uruchamiane, funkcja bram aktywacji z małą ilością pamięci minimalizuje problemy związane z alokacjami pamięci w kodzie użytkownika, co znacznie zwiększa niezawodność systemu.
Funkcja bram aktywacji z małą ilością pamięci ma zastosowanie tylko do skonfigurowanych składników COM zainstalowanych w aplikacji COM+.
Jak działa funkcja wrót aktywacji Low-Memory
Funkcja bram aktywacji z małą ilością pamięci używa innego stałego poziomu progowego w zależności od typu aktywacji. Podczas tworzenia aplikacji serwera COM+, COM+ umożliwia aktywację, jeśli dostępna jest ponad 10 procent pamięci wirtualnej. Jeśli dostępne jest mniej niż 10 procent, COM+ wykonuje alokację testową, aby dowiedzieć się, czy plik stronicowania może rozwinąć się, aby pomieścić nowe obciążenie pamięci. Jeśli plik stronicowania zostanie rozszerzony, zostanie utworzona aplikacja serwera. Jeśli nie można rozszerzyć pliku stronicowania, aktywacja zakończy się niepowodzeniem, a pamięć nie zostanie przydzielona.
Proces jest podobny podczas tworzenia obiektu. W takim przypadku model COM+ umożliwia aktywację, jeśli jest dostępna ponad 5 procent pamięci wirtualnej. Jeśli dostępnych jest mniej niż 5 procent, COM+ kontynuuje alokację testową. Ponownie, jeśli alokacja testowa rozszerza plik stronicowania, obiekt zostanie utworzony. W przeciwnym razie aktywacja zakończy się niepowodzeniem.
Stałe poziomy progowe bram aktywacji z małą ilością pamięci nie są obecnie konfigurowalne. Z tego powodu nie ma żadnych zadań skojarzonych z tą funkcją.