oracle real application testing solution test oracle db before moving production
Doszliśmy do ostatniej części seria testów Oracle Database.
Do tej pory mieliśmy do czynienia metody testowania bazy danych Oracle. Kontynuując ten nacisk, zagłębimy się w dalsze szczegóły dotyczące Oracle Real Application Testing.
Dziś poznamy Oracle Real Application Testing - skuteczny system zapewniania zmian, który ocenia zmianę systemu w samym środowisku testowym przed wprowadzeniem go do produkcji.
Jest to wiodące rozwiązanie firmy Oracle do przechwytywania obciążenia bazy danych w rzeczywistym środowisku produkcyjnym i zastępowania go w t to środowisko .
Jak stwierdzono przy wielu okazjach, zawsze musimy upewnić się, że testujemy bazę danych w każdym możliwym wymiarze, aby wyeliminować niestabilności i upewnić się, że nie napotkamy żadnych nieprzewidzianych problemów w naszej instancji produkcyjnej.
Możemy kategoryzować Testowanie rzeczywistych aplikacji Oracle na dwie obszerne sekcje:
- Analizator wydajności SQL
- Powtórka bazy danych
Zanim przejdziemy dalej, należy pamiętać, że SQL Performance Analyzer i Database Replay wymagają dodatkowej licencji, tj. Są dostępne za dodatkową opłatą i jako opcja Enterprise Edition.
Czego się nauczysz:
Analizator wydajności SQL
Graficzny interfejs użytkownika używany do uzyskiwania dostępu do narzędzia SQL Performance Analyzer i odtwarzania bazy danych to Enterprise Manager, jak pokazano poniżej:
Aby uzyskać dostęp do narzędzia SQL Performance Analyzer, wystarczy kliknąć łącze „SQL Performance Analyzer”
(Kliknij obraz, aby wyświetlić w powiększeniu)
SQL Performance Analyzer umożliwia nam ocenę wpływu na wydajność każdej zmiany w systemie, która może mieć wpływ na wykonywanie i wydajność SQL.
Są niezwykle przydatne w przypadkach takich jak:
- Aktualizacja bazy danych, łatanie
- Zmiany konfiguracji systemu operacyjnego - Oprogramowanie lub sprzęt
- Zmiany statystyk Oracle Optimizer
- Zmiany użytkownika / schematu
Zawsze zaleca się uruchomienie analizy wydajności SQL na teście lub pliku UAT (testowanie aplikacji użytkownika) zamiast w systemie produkcyjnym. Ponieważ podczas testowania skutków zmiany w zakresie wydajności moglibyśmy nieumyślnie wpłynąć na użytkowników działających w instancji produkcyjnej. Ponadto uruchomienie go w ramach testu zapewni, że nie będziemy modyfikować żadnych aktualnie uruchomionych procesów na produkcji.
DO poniżej przedstawiono podstawowe omówienie przepływu pracy programu SQL Performance Analyzer:
Analiza wydajności SQL obejmuje następujące kroki.
Krok 1)Przechwytywanie obciążenia SQL
Określ instrukcje SQL, które będą częścią obciążenia SQL z instancji produkcyjnej, którą chcesz przeanalizować. To obciążenie powinno idealnie odzwierciedlać obciążenie, które możesz mieć w swojej produkcji.
Przechwytujemy te instrukcje w zestawie dostrajania SQL i przekazujemy ten zestaw dostrajania SQL do analizatora wydajności SQL.
Ponieważ analizator zużywa dużo zasobów w systemie, zawsze zalecamy uruchamianie ich w systemie testowym lub UAT. Aby uruchomić go w systemie testowym, musielibyśmy wyeksportować zestaw SQL Tuning, który już stworzyliśmy w produkcji do systemu testowego.
Krok 2)Tworzenie zadania SQL Performance Analyzer
Aby uruchomić analizator, musisz najpierw utworzyć zadanie SQL Performance Analyzer. Zadanie to jest niczym innym jak repozytorium, które konsoliduje wszystkie dane dotyczące analizy wykonywanej przez SQL Performance Analyzer. Jak wskazano wcześniej, zestaw do strojenia SQL jest podawany do analizatora jako stymulant.
konwerter youtube na mp3 bez wirusa
Krok 3)Wersja próbna wydajności SQL przed zmianą
Po utworzeniu zadania SQL Performance Analyzer i SQL Tuning Set, musimy zbudować infrastrukturę w systemie Test.
Należy pamiętać, że planując testowanie systemu, musimy upewnić się, że jest on bardzo podobny do systemu produkcyjnego pod względem sprzętu, oprogramowania i pamięci, abyśmy mogli replikować podobne środowisko.
Po odpowiednim skonfigurowaniu systemu testowego możemy zbudować wersję danych przed zmianą za pomocą narzędzia SQL Performance Analyzer.
Można to osiągnąć za pomocą Enterprise Manager lub API (wbudowane procedury).
Krok 4)Wersja próbna wydajności SQL po zmianie
Test po zmianie jest wykonywany w systemie testowym po wprowadzeniu pewnych zmian w systemie.
Po zakończeniu mielibyśmy do porównania dwie próby SQL - jedną przed zmianą i po jej zmianie.
Podobnie jak w przypadku wersji próbnej wydajności przed zmianą SQL, możemy utworzyć wersję próbną wydajności SQL po zmianie za pomocą Enterprise Manager lub API (wbudowane procedury).
Krok 5)Generowanie raportu
Po wykonaniu prób przed zmianą i po zmianie zebrane w nich dane dotyczące wydajności można porównać, przeprowadzając analizę porównawczą za pomocą narzędzia SQL Performance Analyzer.
Po zakończeniu tego zadania porównawczego możemy wygenerować raport w celu zidentyfikowania wydajności instrukcji SQL, która była częścią obciążenia, które zamierzaliśmy przetestować.
Przeglądając raport, możemy ocenić i wyciągnąć wnioski dotyczące wydajności SQL
Instrukcje, a następnie wdrażanie zmian systemowych w produkcji.
Podobnie możemy testować różne obciążenia z różnymi zmianami systemowymi i upewnić się, że testujemy każdy z nich przed wdrożeniem do produkcji.
Przepływ pracy zilustrowany powyżej można przedstawić graficznie, jak pokazano poniżej.
Powtórka bazy danych
Aby uruchomić narzędzie za pośrednictwem Enterprise Manager:
(Kliknij obraz, aby wyświetlić w powiększeniu)
Database Replay umożliwia realistyczne testowanie zmian systemowych poprzez zasadniczo replikację środowiska produkcyjnego w systemie testowym. Czyni to poprzez przechwytywanie żądanego obciążenia w systemie produkcyjnym i odtwarzanie go w systemie testowym z dokładną charakterystyką zasobów pierwotnego obciążenia, takiego jak wykonywanie SQL, transakcje, wyodrębnienia i procedury.
Ma to na celu upewnienie się, że uwzględniamy wszystkie możliwe skutki wszelkich zmian, w tym niepożądane skutki, takie jak błędy produktu, nieodpowiednie wyniki lub regresja wydajności.
Obszerne analizy i generowane raporty pomagają również zidentyfikować wszelkie potencjalne problemy, takie jak napotkane błędne okoliczności i rozbieżności w wydajności.
W rezultacie organizacje mogą być spokojne, gdy radzą sobie ze zmianą i mieć lukratywną ocenę ogólnego sukcesu zmiany systemu. To znacznie zmniejszy ryzyko, gdy będziemy chcieli wprowadzić zmiany w produkcji. Zmiana jest nieunikniona, a upewnienie się, że przetestujemy każdy aspekt tej zmiany na każdym poziomie, sprawi, że produkcja będzie solidniejsza i solidniejsza.
Podstawowy przepływ pracy podczas odtwarzania bazy danych jest przedstawiony poniżej:
Zmiany obsługiwane przez funkcję Database Replay to:
- Aktualizacje bazy danych Oracle, łatanie oprogramowania
- Użytkownik / schemat, instancja bazy danych Parametry, takie jak pamięć, we / wy
- Zmiany sprzętu / oprogramowania w węzłach RAC (Real Application Cluster)
- Zmiany systemu operacyjnego, łatanie systemu operacyjnego
- CPU, pamięć, pamięć masowa
Database Replay pozwala nam przetestować różne skutki ewentualnych zmian w systemie, odtwarzając praktyczne obciążenie rzeczywistego systemu produkcyjnego na system testowy, zanim zostanie on wystawiony na działanie pierwszego. Nakład pracy na produkcję jest monitorowany, analizowany i rejestrowany w ustalonym ilościowo okresie. Te dane są rejestrowane w czasie i są wykorzystywane do odtwarzania obciążenia w systemach testowych.
W ten sposób możemy z powodzeniem przetestować konsekwencje obciążenia pracą przed wdrożeniem jakichkolwiek zmian, które mogą niekorzystnie wpłynąć na produkcję.
Przebieg pracy jest następujący:
Krok 1) Przechwytywanie obciążenia
Rejestrujemy wszystkie żądania klientów w plikach zwanych „Przechwytuj pliki” w systemie plików (pamięci masowej). Pliki te zawierają wszystkie istotne informacje dotyczące żądań klientów, takie jak SQL, powiązania, procedury i informacje o transakcjach. Pliki te można następnie wyeksportować do dowolnego systemu na wypadek, gdybyśmy chcieli odtworzyć je w innym systemie.
Krok 2)Wstępne przetwarzanie obciążenia
Po przechwyceniu informacji z „plików przechwytywania” musimy je wstępnie przetworzyć. W tym kroku tworzymy metadane, które zawierają opis wszystkich danych wymaganych do odtworzenia obciążenia.
Ponieważ ten krok zużywa ogromną ilość zasobów z systemu, zaleca się uruchomienie na innym systemie poza produkcją, w którym można odtworzyć ładunek. Jeśli nie masz innego systemu do przetestowania i chcesz go uruchomić w środowisku produkcyjnym, upewnij się, że uruchamiasz je poza godzinami szczytu, aby nie miało to wpływu na użytkowników i procesy działające w środowisku produkcyjnym.
Krok 3)Ponowne odtwarzanie obciążenia
Teraz możemy je odtworzyć w systemie testowym. W tym momencie odtwarzamy wszystkie transakcje, kontekst, procedury i kod SQL, które zostały początkowo przechwycone podczas fazy przechwytywania, gromadząc dane, gdy każdy proces przechodzi to przejście.
Krok 4)Generowanie raportów
Podobnie jak w przypadku Analizatora wydajności, możesz również generować i przeglądać raporty, aby porównać każdy z wykonanych testów.
Podsumowując, oferujemy kilka szybkich wskazówek dotyczących testowania powtórki bazy danych:
- Jeśli to możliwe, używaj identycznego systemu testowego
- Testuj pojedynczo jedną zmianę, aby zrozumieć jej wpływ
- Upewnij się, że zaczynasz od domyślnych opcji powtórki, a następnie wprowadź zmiany, jeśli to konieczne, zgodnie z wymaganiami.
- Przed wykonaniem drugiej powtórki upewnij się, że rozumiesz wszystkie aspekty testowania
- Pamiętaj, aby zapisać wyniki testów i udokumentować wszelkie wymagane zmiany / działania testowe
- Upewnij się, że żadne inne obciążenie ani użytkownicy nie używają systemu podczas żadnego z przebiegów testowych
Wniosek:
Biorąc pod uwagę różne aspekty i różne metody testowania bazy danych Oracle i aplikacji, należy zawsze testować tak często i jak najdokładniej; zrozumieć aplikację i środowisko użytkownika przed wdrożeniem jakichkolwiek zmian lub wprowadzeniem jakichkolwiek nowych parametrów w środowisku produkcyjnym.
rekomendowane lektury
- Najlepsze narzędzia do testowania oprogramowania 2021 [Narzędzia do automatyzacji testów QA]
- Różnica między testami na komputerach stacjonarnych, serwerach klienckich i testach internetowych
- Jak przetestować bazę danych Oracle
- Podręcznik testowania zabezpieczeń aplikacji internetowych
- Testowanie aplikacji - podstawy testowania oprogramowania!
- Instalowanie aplikacji na urządzeniu i rozpoczęcie testowania z Eclipse
- Testing Primer Pobierz eBook
- Testy niszczące i samouczek dotyczący testów nieniszczących