Na tej stronie można ustawić zaawansowane właściwości źródła danych serwera aplikacji. Właściwości te umożliwiają aktywowanie i konfigurowanie usług stosowanych przez serwer aplikacji do źródeł danych w celu dostosowania jego połączeń. Właściwości te nie wpływają na połączenia w bazie danych.
Określa liczbę instrukcji dodawanych do pamięci w każdym połączeniu. Serwer aplikacji buforuje instrukcję po jej zamknięciu przez użytkownika.
Jeśli pamięć podręczna instrukcji jest niewystarczająca, niektóre wpisy są usuwane, aby pomieścić nowe wpisy. Aby określić najwyższą wartość wielkości pamięci podręcznej i zapobiec usuwaniu wpisów, należy dodać liczbę unikalnych przygotowanych instrukcji i instrukcji wywoływalnych (na podstawie łańcucha SQL, współbieżności i typu przewijania) dla każdej aplikacji korzystającej z tego źródła danych na odpowiednim serwerze. Wartość ta będzie maksymalną liczbą możliwych instrukcji, które mogą być buforowane dla danego połączenia przez cały czas pracy serwera. Ustawienie takiej wartości wielkości pamięci podręcznej spowoduje, że instrukcje nie będą usuwane. Z reguły należy konfigurować większą pamięć podręczną dla aplikacji o większej liczbie instrukcji.
![[AIX Solaris HP-UX Linux Windows]](../dist.gif)
Aby ograniczyć liczbę instrukcji usuwanych z pamięci
podręcznej, można także skorzystać z przeglądarki Tivoli Performance Viewer. Należy zastosować standardowe obciążenie, reprezentujące typową ilość
przychodzących żądań klienta, stałą liczbę iteracji i zestaw standardowy ustawień konfiguracyjnych. Jeśli serwer aplikacji nie powinien buforować konkretnej instrukcji, należy skonfigurować zdolność instrukcji do tworzenia zestawów na false. Serwer aplikacji nie będzie buforował instrukcji, jeśli jej zdolność do tworzenia zestawów zostanie ustawiona na false. Aplikacja określa zdolność instrukcji do tworzenia zestawów w czasie wykonywania.
W aplikacjach testowych dostrojenie pamięci podręcznej instrukcji powoduje poprawę przepustowości o od 10% do 20%. Jednak z uwagi na potencjalne ograniczenia zasobów taki proces dostrajania może nie zawsze być możliwy.
| Informacje | Wartość |
|---|---|
| Typ danych | Liczba całkowita |
| Wartość domyślna | Wartości domyślne zależą od bazy danych. Zwykle jest to wartość 10. W wersjach bazy danych Informix 7.3, 9.2, 9.3 i 9.4 bez najnowszych poprawek wartość domyślna musi być ustawiona na 0. Wartość domyślna równa 0 oznacza, że nie ma pamięci podręcznej instrukcji. |
Jeśli ta opcja jest zaznaczona, to w przypadku, gdy wiele wątków podejmie jednocześnie próbę użycia tego samego uchwytu połączenia, do dziennika wyjścia systemowego produktu WebSphere Application Server zostanie wprowadzony następujący komunikat ostrzegawczy. Właściwości tej można używać do debugowania problemów z połączeniami, jeśli zachodzi podejrzenie, że problemy mogły zostać spowodowane próbą jednoczesnego użycia tego samego uchwytu połączenia przez wiele wątków. Współbieżne korzystanie z uchwytu połączenia przez wiele wątków jest naruszeniem modelu programistycznego.
J2CA0167W: Wykryto próbę współbieżnego użycia tego samego uchwytu połączenia przez wiele wątków. Uchwyt połączenia: {0}.
Wskazuje, że w połączeniach pobieranych z puli połączeń serwera aplikacji nie istnieje dokładna zgodność (kryteria wyszukiwania puli połączeń nie uwzględniają nazwy użytkownika ani hasła). Zamiast tego ponowne uwierzytelnianie połączenia odbywa się w metodzie doConnectionSetupPerTransaction() klasy DataStoreHelper. Serwer aplikacji nie udostępnia implementacji ponownego uwierzytelniania połączenia w czasie wykonywania. Jeśli to pole wyboru zostanie zaznaczone, należy rozszerzyć klasę DataStoreHelper w celu udostępnienia implementacji metody doConnectionSetupPerTransaction(), w której odbywa się ponowne uwierzytelnienie. Jeśli proces ten nie zostanie zakończony, serwer może zwrócić połączenia, których nie można wykorzystać. Więcej informacji na ten temat zawiera dokumentacja API dla metody com.ibm.websphere.rsadapter.DataStoreHelper#doConnectionSetupPerTransaction.
Unikanie problemów: Ponownego uwierzytelniania bazy danych nie można włączyć,
jeśli jako alias konfiguracji odwzorowania wybrano obiekt TrustedConnectionMapping.gotchaWybranie tej opcji powoduje, że serwer aplikacji korzysta z usługi JMS (Java Messaging Service) w celu uzyskiwania zoptymalizowanych połączeń z tego źródła danych. Ta właściwość uniemożliwia aplikacjom JDBC (Java Database Connectivity) współużytkowanie połączeń z aplikacjami CMP. Opcja ta nie jest dostępna, jeśli dostawcą JDBC źródła danych jest dostawca XA.
Określa, czy kontener śledzi buforowane uchwyty, które są uchwytami połączeń utrzymywanymi przez komponent aplikacji w stanie aktywności w ramach transakcji i metod. Właściwość ta służy do debugowania problemów z połączeniami, jednak śledzenie uchwytów może powodować znaczne obniżenie wydajności w czasie wykonywania.
AdminConfig.modify(myDataSourceVariable, '[[manageCachedHandles "true"]]')
Określa, czy kontener generuje wpisy w dzienniku czynności, jeśli aplikacja uzyskuje połączenie bez kontekstu transakcji. Są to wyjątki w ramach wymagań połączenia modelu programistycznego Java EE (Java Platform, Enterprise Edition).
Unikanie problemów: Właściwości tej należy
przypisywać wartość true tylko w rzadkich
przypadkach, z wyjątkiem sytuacji, gdy aplikacja interfejsu JPA
(Java
Persistence API) wymaga zarówno źródeł danych JTA, jak i innych niż JTA.
Źródło
danych inne niż JTA wymaga ustawienia tej właściwości na wartość true.gotchaOkreśla, że do identyfikowania błędów serwer aplikacji używa narzędzia do odwzorowywania błędów zdefiniowanego w programie pomocy składnicy danych. Serwer aplikacji nie zastępuje wyjątków zgłaszanych przez sterownik JDBC wyjątkami zdefiniowanymi w odwzorowaniu błędów programu pomocy składnicy danych.
Określa, że do identyfikowania błędów serwer aplikacji używa narzędzia do odwzorowywania błędów zdefiniowanego w programie pomocy składnicy danych. Serwer aplikacji zastępuje wyjątki zgłaszane przez sterownik JDBC wyjątkami zdefiniowanymi w odwzorowaniu błędów programu pomocy składnicy danych.
Określa, czy menedżer połączeń testuje nowo utworzone połączenia z bazą danych.
Określa, ile razy należy ponawiać nawiązanie początkowego połączenia z bazą danych w sytuacji, gdy nie powiedzie się pierwsza operacja testowania.
Jeśli opcja Sprawdzaj poprawność nowych połączeń zostanie wybrana, ta opcja umożliwia określenie liczby sekund oczekiwania przed podjęciem ponownej próby nawiązania połączenia przez serwer, jeśli pierwsza próba nie powiedzie się.
Określa, czy menedżer połączeń testuje ważność zestawionych połączeń przed zwróceniem ich do aplikacji.
Jeśli zostanie wybrana opcja Wstępnie testuj istniejące połączenia znajdujące się w puli, będzie można określić czas w sekundach przeznaczony na sprawdzanie poprawności połączenia przez sterownik JDBC.
Określa, że serwer aplikacji używa sterownika JDBC w celu sprawdzenia poprawności połączenia. Z opcji tej można korzystać pod warunkiem, że dostawca JDBC obsługuje interfejs JDBC w wersji 4.0 lub nowszej. Ta opcja jest dostępna, jeśli wybrano opcję Sprawdź poprawność nowych połączeń lub Sprawdź poprawność istniejących zestawionych połączeń.
Unikanie problemów: W przypadku źródła danych Oracle pole
Sprawdzanie poprawności przez sterownik JDBC jest
wyświetlane w Konsoli administracyjnej jedynie po dodaniu właściwości
validateNewConnectionTimeout do
właściwości niestandardowych
źródła danych
.
Właściwość validateNewConnectionTimeout jest używana podczas sprawdzania
poprawności wykonywanego przez sterownik JDBC 4.0 i może zostać określona przy
użyciu Konsoli administracyjnej.gotchaOkreśla instrukcję SQL wysyłaną przez serwer aplikacji do bazy danych w celu przetestowania połączenia. Należy użyć takiego zapytania, które będzie miało jak najmniejszy wpływ na wydajność. Ta opcja jest dostępna, jeśli wybrano opcję Sprawdź poprawność nowych połączeń lub Sprawdź poprawność istniejących zestawionych połączeń.
Służy do optymalizowania źródła danych dla aplikacji używających wzorca połączenia get/use/close. Ta optymalizacja umożliwia puli połączeń dla określonego źródła danych współużytkowanie połączeń znajdujących się w tej samej transakcji. Ten wzorzec optymalizacji umożliwia współużytkowanie jednego połączenia podczas transakcji, nawet jeśli połączenia korzystają z różnych właściwości połączenia.
Jeśli jest używana funkcja heterogenicznego zestawiania połączeń, należy najpierw rozszerzyć definicję źródła danych, aby można było określić inne właściwości niestandardowe lub aplikacje w celu nadpisania innych niż podstawowe właściwości źródła danych. Aby uzyskać więcej informacji na temat rozszerzania źródeł danych, należy zapoznać się z informacjami na temat rozszerzania definicji źródeł danych produktu DB2 na poziomie aplikacji.
Określa czas w sekundach między ponownymi próbami automatycznego przekierowania klienta.
Określa maksymalną liczbę ponownych prób nawiązania połączenia podejmowanych przez funkcję automatycznego przekierowania klienta, jeśli podstawowe połączenie z serwerem zostanie utracone. Ta właściwość jest używana tylko wtedy, gdy jest ustawiona właściwość Odstęp czasu między próbami przekierowania klienta.
host1,host2
5000,50001
Określa nazwę JNDI służącą do powiązania listy serwerów przekierowania klienta DB2 z przestrzenią nazw JNDI. Serwer bazy danych DB2 używa tej nazwy do wyszukiwania na liście nazw alternatywnych serwerów, jeśli pamięć nie zawiera informacji o alternatywnych serwerach. Ta opcja nie jest obsługiwana w przypadku źródeł danych typu 2.
Właściwość używana tylko z połączeniem testowym. Jeśli jej wartość wynosi true, po wydaniu żądania nawiązania połączenia testowego jest usuwane powiązanie nazwy JNDI listy serwerów przekierowania klienta z przestrzenią nazw JNDI.