Właściwości źródła danych produktu WebSphere Application Server

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.

Aby uzyskać dostęp do tej strony Konsoli administracyjnej, należy użyć jednej z następujących ścieżek:

Wielkość pamięci podręcznej instrukcji

Określa liczbę instrukcji dodawanych do pamięci w każdym połączeniu. Serwer aplikacji buforuje instrukcję po jej zamknięciu przez użytkownika.

Źródło danych serwera WebSphere Application Server optymalizuje przetwarzanie przygotowanych instrukcji i instrukcji wywoływalnych, buforując te instrukcje, które nie są używane w aktywnym połączeniu. Oba typy instrukcji pomagają zmaksymalizować wydajność transakcji wykonywanych między aplikacją a składnicą danych.
  • Przygotowana instrukcja jest wstępnie skompilowaną instrukcją SQL przechowywaną w obiekcie PreparedStatement. Za pomocą tego obiektu serwer aplikacji uruchamia wiele razy instrukcję SQL zgodnie z wymaganiami aplikacji w czasie wykonywania i z wartościami określonymi w czasie wykonywania.
  • Instrukcja wywoływalna jest instrukcją SQL zawierającą wywołanie do składowanej procedury stanowiącej serię wstępnie skompilowanych instrukcji, przeznaczonych do wykonania czynności i zwrócenia wyników. Instrukcja ta jest przechowywana w obiekcie CallableStatement. Za pomocą tego obiektu serwer aplikacji uruchamia wiele razy procedurę składowaną zgodnie z wymaganiami aplikacji w czasie wykonywania i z wartościami określonymi w czasie wykonywania.

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][IBM i] 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.
Uwaga: Im większa jest pamięć podręczna instrukcji, tym więcej zasobów systemu zostaje opóźnionych. W związku z tym ustawienie zbyt wysokiej liczby może spowodować występowanie braków zasobów, ponieważ system nie będzie mógł otworzyć wielu przygotowanych instrukcji.

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.

Włącz wykrywanie wielowątkowych dostępów

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}.

Włącz ponowne uwierzytelnianie bazy danych

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.

Ponowne uwierzytelnianie połączenia pozwala poprawić wydajność dzięki zredukowaniu liczby połączeń otwierających i zamykających, szczególnie w przypadku aplikacji, które często żądają połączeń z użyciem różnych nazw użytkowników i haseł.
Unikanie problemów Unikanie problemów: Ponownego uwierzytelniania bazy danych nie można włączyć, jeśli jako alias konfiguracji odwzorowania wybrano obiekt TrustedConnectionMapping.gotcha

Włącz obsługę jednofazowej optymalizacji usługi JMS

Wybranie 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.

Zarządzaj buforowanymi uchwytami

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.

Jeśli w Konsoli administracyjnej zaznaczono właściwość Zarządzaj buforowanymi uchwytami, a następnie wybór ten zostanie anulowany, to pole nie będzie już widoczne dla zasobów w wersji 7.0 lub wyższej serwera aplikacji. Pole to jest wyświetlane tylko wtedy, gdy właściwość manageCachedHandles w pliku resources.xml ma wartość true. Aby udostępnić to pole, należy w pliku resources.xml zmienić wartość wpisu manageCachedHandles z false na true lub wprowadzić następującą komendę Jython w narzędziu wsadmin:
AdminConfig.modify(myDataSourceVariable, '[[manageCachedHandles "true"]]')
Uwaga: Dla wszystkich zasobów uruchomionych na serwerze aplikacji w wersji 6.x właściwość Zarządzaj buforowanymi uchwytami jest zawsze widoczna. Na przykład w przypadku węzła w wersji 6.1 wpis w pliku resources.xml nie ma wpływu na wyświetlanie tego pola w Konsoli administracyjnej.
Inną metodą debugowania problemów jest zastosowanie wielowątkowych międzykomponentowych alertów diagnostycznych w celu wykrywania naruszeń modelu programistycznego Java Connector Architecture (JCA). Aby aktywować te alerty, należy wybrać odpowiednie opcje na panelu Serwery > Serwery aplikacji > serwer_aplikacji > Wydajność > Konfiguracja produktu Performance and Diagnostic Advisor > Konfiguracja porady diagnostycznej lub dotyczącej wydajności. Alerty te wymuszają zarządzanie buforowanymi uchwytami, wykrywanie warunków połączeń i wysyłanie alertów przez menedżer połączeń.
Uwaga: Aby aktywować te alerty, należy wybrać również opcję Włącz strukturę produktu Performance and Diagnostic Advisor (Runtime Performance Advisor) na panelu Serwery > Serwery aplikacji > serwer_aplikacji > Wydajność > Konfiguracja produktu Performance and Diagnostic Advisor.

Rejestrowanie brakującego kontekstu transakcji

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).

Źródło danych inne niż transakcyjne

Określa, że serwer aplikacji ma nie uwzględniać połączeń z tego źródła danych w transakcjach globalnych ani lokalnych. Aplikacje muszą jawnie używać wywołania setAutoCommit(false) na połączeniu, jeśli mają uruchomić lokalną transakcję na połączeniu, a także muszą zatwierdzić lub wycofać transakcję, którą uruchomiły.
Unikanie problemów 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.gotcha

Użyj modelu sprawdzania wyjątków serwera WebSphere Application Server

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 nie zastępuje wyjątków zgłaszanych przez sterownik JDBC wyjątkami zdefiniowanymi w odwzorowaniu błędów programu pomocy składnicy danych.

Użyj modelu odwzorowywania wyjątków serwera WebSphere Application Server

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.

Uwaga: Ten model wykrywania błędów działa z interfejsem JDBC w wersji 3.0 lub wcześniejszej.

Sprawdzaj poprawność nowych połączeń

Określa, czy menedżer połączeń testuje nowo utworzone połączenia z bazą danych.

Liczba prób

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.

Odstęp czasu między próbami

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ę.

Sprawdzaj poprawność istniejących połączeń znajdujących się w puli

Określa, czy menedżer połączeń testuje ważność zestawionych połączeń przed zwróceniem ich do aplikacji.

Odstęp czasu między próbami

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.

Sprawdzanie poprawności przy użyciu sterownika 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 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 [Updated in September 2013]właściwości niestandardowych źródła danych[Updated in September 2013]. 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.gotcha

Limit czasu

Określa limit czasu w sekundach na potrzeby testowania połączeń z bazą danych (zarówno nowych, jak i zestawianych przez serwer aplikacji). Jeśli limit czasu zostanie przekroczony przed sprawdzeniem poprawności, połączenie zostanie uznane za niezdatne do użycia. Jeśli skonfigurowane są ponowne próby, pełna wartość limitu czasu odnosi się do każdej z nich. Wartość 0 oznacza, że sterownik JDBC nie narzuca żadnego limitu czasu na próby sprawdzania poprawności.
Uwaga: Ta opcja jest dostępna tylko dla sterowników JDBC zgodnych ze specyfikacją JDBC 4.0.

Sprawdzanie poprawności przez zapytanie SQL (nieaktualne)

Okreś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ń.

Optymalizacja dla wzorca połączenia get/use/close za pomocą heterogenicznego zestawiania 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.

Uwaga: To pole jest dostępne tylko dla źródeł danych DB2.

Odstęp czasu między próbami przekierowania klienta

Określa czas w sekundach między ponownymi próbami automatycznego przekierowania klienta.

Uwaga: To pole jest dostępne tylko dla źródeł danych DB2.

Maksymalna liczba prób 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.

Uwaga: To pole jest dostępne tylko dla źródeł danych DB2.

Nazwy alternatywnych serwerów

Określa listę zawierającą nazwę lub nazwy alternatywnych serwerów dla serwera DB2. Jeśli określono kilka nazw alternatywnego serwera, muszą one być oddzielone przecinkami. Na przykład:
host1,host2
Uwaga: To pole jest dostępne tylko dla źródeł danych DB2.

Numery alternatywnych portów

Określa listę portów serwera alternatywnego dla serwera DB2. Jeśli określono kilka alternatywnych portów serwera, muszą one być oddzielone przecinkami. Na przykład:
5000,50001
Uwaga: To pole jest dostępne tylko dla źródeł danych DB2.

Nazwa JNDI listy serwerów przekierowania klienta

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.

Uwaga: To pole jest dostępne tylko dla źródeł danych DB2.

Usuń powiązanie listy przekierowania klienta z nazwą JNDI

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.

Uwaga: To pole jest dostępne tylko dla źródeł danych DB2.


Nazwa pliku: udat_jdbcdatasorprops.html