Strona korzysta z plików cookies w celu realizacji usług i zgodnie z Polityką Plików Cookies.



03.03.2023

Nowość dla przemysłowych...

Cisco ogłosiło innowacje w zakresie sieci zarządzanych w chmurze.
03.03.2023

Wielofunkcyjna platforma

Nowe narzędzie firmy Veeam Software to zintegrowana platforma oferująca zaawansowane...
03.03.2023

Bard rywalem dla ChatGPT

Google ogłosiło uruchomienie chatbota napędzanego sztuczną inteligencją o nazwie Bard,...
03.03.2023

Monitoring środowisk...

Firma Schneider Electric opublikowała dokument White Paper nr 281 dotyczący tego, jak...
03.03.2023

Chmura danych

Snowflake, firma działająca w obszarze usług cloudowych, uruchomiła chmurę danych dla...
03.03.2023

Bezpieczeństwo w świecie...

HPE rozszerzył gamę serwerów HPE ProLiant Gen11 nowej generacji.
03.03.2023

Bezobsługowa projekcja

Firma Panasonic Connect Europe zaprezentowała nową generację projektorów laserowych DLP z...
03.03.2023

Zasilanie awaryjne

Firma Vertiv, dostawca rozwiązań krytycznej infrastruktury cyfrowej i zapewniających...
03.03.2023

Monitory biznesowe

Marka AOC prezentuje siedem monitorów do zastosowań biznesowych oraz home office.

Performance Tuning

Data publikacji: 03-03-2022 Autor: Kamil Stawiarski

W poprzedniej części cyklu dotyczącym strojenia wydajności serwera bazodanowego zwróciliśmy uwagę na problem nieprawidłowo skonfigurowanych aplikacji, które nie utylizują w odpowiedni sposób puli połączeń. Dziś znów podejmiemy ten temat i znacząco go rozwiniemy.

 

Dla omawianego środowiska z poprzednich części cyklu zwróciliśmy uwagę na sekcję ze statystykami tworzenia nowych połączeń w bazie danych. Przy 25 połączeniach na sekundę (90 tys. połączeń na godzinę) można spodziewać się poważnych problemów wydajnościowych z serwerem bazodanowym, ponieważ stworzenie nowego procesu bazodanowego, powołanie bufora podręcznego i zarządzenie nowym procesem jest czasochłonne.


Jednym ze sposobów wykrycia serwera, z którego była nawiązywana duża liczba połączeń, jest interpretacja pliku log nasłuchu. Można do tego posłużyć się narzędziem listener_analyzer.py dostępnym pod adresem bit.ly/3I8ePdA. Przykładowy wynik analizy logów przez skrypt widzimy na rys. 1. Analiza przedstawia 22 adresy IP, które logowały się do bazy danych, i możemy zidentyfikować serwer, który nie ma prawidłowo zaimplementowanej puli połączeń. Przy tego typu konfiguracji, gdzie pula połączeń jest nieprawidłowo zbudowana na poziomie serwera aplikacyjnego, najmniejszy nawet problem sieciowy może eskalować się do poważnych kłopotów. Rys. 2 przedstawia wyniki eksperymentu testu wydajnościowego dotyczącego latencji nawiązywania połączenia TNS – szyfrowanego i nieszyfrowanego.


Z uwagi na te rezultaty oczywiste jest, że negatywny wpływ na czas tworzenia pojedynczej sesji widoczny przy zaszyfrowanym połączeniu dotyczyć będzie jedynie aplikacji o architekturze kompletnie niezgodnej ze sztuką, która zakłada tworzenie krótkich sesji w dużej liczbie na potrzeby niewielkiej liczby operacji „user call”.


> Oracle Connection Manager


Administracyjnym rozwiązaniem opisanego problemu jest użycie narzędzia Oracle Connection Manager, które jest częścią klienta Oracle – użycie tego produktu jest możliwe bez dodatkowych opłat w ramach posiadanych licencji Oracle Enterprise Edition. Należy pamiętać, że zawsze wersja narzędzia OCM, musi być wyższa niż wersja bazy danych, która ma być zarządzana przez ten produkt.


Instalacja


Najprościej przeprowadzić instalację z użyciem przygotowanego wcześniej pliku odpowiedzi:


oracle.install.responseFileVersion=/oracle/install/
rspfmt_clientinstall_response_schema_v21.0.0 ORACLE_HOSTNAME=$(hostname)
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oraInventory
SELECTED_LANGUAGES=en
ORACLE_HOME=/u01/app/oracle/product/cman21
ORACLE_BASE=/u01/app/oracle
oracle.install.client.installType=Custom
oracle.install.client.customComponents="oracle.sqlplus:21.0.0.0.0",
"oracle.network.client:21.0.0.0.0","oracle.network.cman:21.0.0.0.0",
"oracle.network.listener:21.0.0.0.0"


Następnie można przeprowadzić instalację w trybie SILENT.


[oracle@88f087c44f0b client]$ ./runInstaller -silent
-ignorePrereqFailure -showProgress -ignoreSysPrereqs
-responseFile $PWD/response/cman.rsp ORACLE_HOME_NAME=cman21


Konfiguracja TDM


W celu stworzenia puli połączeń w narzędziu CMAN należy wykonać konfigurację trybu Traffic Director Mode TDM, który oficjalna dokumentacja definiuje następująco: „Oracle Connection Manager w Traffic Director Mode 18.1 wspiera Proxy Resident Connection Pooling (PRCP). PRCP zapewnia usługi połączeniowe dla większej liczby połączeń klienckich, które są trasowane przy użyciu mniejszej liczby połączeń serwera do docelowych baz danych. PRCP może zmniejszyć obciążenie połączeń (wykorzystanie pamięci połączeń) na warstwie bazy danych, a także wykonywać load balancing w czasie pracy w celu zapewnienia lepszej wydajności. Może to pomóc w zmniejszeniu obciążenia bazy danych połączeniami”.


W celu skonfigurowania trybu TDM należy stworzyć na bazie danych użytkownika PROXY:


SQL> create user tdm identified by browar;
SQL> grant connect to tdm;
SQL> alter user hr grant connect through tdm;
 

W powyższej konfiguracji pozwalamy użytkownikowi TDM połączyć się do bazy danych z własnym hasłem, ale jako użytkownik HR:


SQL> conn tdm[hr]/browar@orclprod
SQL> show user
USER is "HR"


Konfiguracja CMAN w trybie TDM


Pierwszym krokiem konfiguracji produktu Oracle Connection Manager jest stworzenie pliku konfiguracyjnego cman.ora w lokalizacji $ORACLE_HOME/network/admin:

 

cman-tdm=
(configuration=
(address=(protocol=tcp)(host=0.0.0.0)(port=1555))
(parameter_list=
(TDM=Yes)
(registration_invited_nodes=*)
)
(rule_list=
(rule=(src=*)(dst=*)(srv=*)(act=accept))
)
wallet_location=(SOURCE=(METHOD=FILE)(METHOD_DATA=
(DIRECTORY=/u01/app/oracle/wallet-cman/)))
SQLNET.WALLET_OVERRIDE = TRUE


Drugim krokiem jest stworzenie pliku wallet:


[oracle@88f087c44f0b admin]$ mkdir -p /u01/app/oracle/wallet-cman/
[oracle@88f087c44f0b admin]$ mkstore -wrl /u01/app/oracle/wallet-cman/ -create
[oracle@88f087c44f0b admin]$ mkstore -wrl /u01/app/oracle/wallet-cman/
-createCredential orclprod tdm haslo

 

[...]

 

Laureat Oracle ACE Director i członek stowarzyszenia Oracle OakTable zrzeszającego ok. 100 najlepszych specjalistów na świecie.

Pełna treść artykułu jest dostępna w papierowym wydaniu pisma.

.

Transmisje online zapewnia: StreamOnline

All rights reserved © 2019 Presscom / Miesięcznik \"IT Professional\"