SwingBench cz.1 : Konfiguracja

Program SwingBench służy do testowania wydajności bazy Oracle. Aby go uruchomić na serwerze konieczna jest instalacja JAVY:

yum install java

Ze strony SwingBench’a (http://dominicgiles.com/downloads.html) ściagamy plik SwingBench 2.6 (swingbench261040.zip). Kopijemy go na nasze serwer bazodanowy i tam rozpakowujemy go.

Aby przeprowadzić testy wydajności bazy Oracle za pomocą oprogramowania SwingBench należy przygotować kilka schematów. Służą do tego odpowiednie instalatory umieszczone w folderze ../swingbench/bin (na serwerach z systemem Linux) i ../swingbench/winbin (na systemie Windows).

Schemat ORDER ENTRY (OE)

Aby uruchomić instalatora schematu OE w systemie Linux przechodzimy do folderu ../swingbench/bin
Tam uruchamiamy Oracle Entry Install Wizard, który przygotuje dla nas specjalne schematy i obiekty na których będą przeprowadzane testy.

./oewizard

Pojawia się instalator

Wciskamy NEXT

Wybieramy wersję 2.0 (rekomendowaną) i wciskamy NEXT

Jeśli chcemy utworzyć schematy, tabele itd wciskamy pierwszą opcję i NEXT

W ścieżce wpisujemy //localhost:1521/orcl.localdomain (spisane ze statusu listenera). Wpisujemy hasło dla użytkownika SYS i wciskamy NEXT

Tworzymy tu użytkownika SOE z hasłem soe. Podajemy ścieżkę do plików bazodanowych gdzie będzie plik tablespace SOE (/ORACLE/app/oracle/oradata/soe01.dbf).

Tu w sumie nic nie zmieniamy. Wciskamy NEXT

A tu coś ustawiamy ale jeszcze nie doszedłem co 🙂 Na dole jest podany rozmiar tablespace SOE, który powstanie w naszej bazie (3.2GB). Jest też informacja że jest wymagany rozmiar TEMPa na poziomie 0,6GB. Jeśli ustawimy inną wartość to parametry tablespace i pamięci się zmienią. Jeśli ustawimy np 10GB rozmiar tablespace będzie równy 32GB, a wymagana pamięć 6GB. Wciskamy NEXT

Tu ustawiamy paralelizm. Domyślnie ustawiany jest na poziomie równym dwukrotnej liczbie procesorów (8 procesorów – pararelizm = 16). Wciskamy NEXT.

Jeśli wcześniej ustawiliśmy zbyt duże ustawienia otrzymamy ostrzeżenie o zbyt małym TEMP’ie i o tym że indeksy mogą się nie utworzyć. Potwierdzamy YES

Następuje proces tworzenia schematu SOE i jego obiektów

W oknie pokazuje postęp wykonanych prac.

Kolejne zadania są pokazywane w oknie logu.

Uwaga. Podczas budowania schematów serwer może być dość mocno obciążony.

W oknie głównym też jest informacja o procentowym wykonaniu instalacji.

Po zakończeniu pojawi się okno z podsumowaniem. U góry okna powinna być informacja o poprawnym zakończeniu zadania. Schemat OE jest gotowy.

Możemy go sprawdzić logując się do SQLPLUS’a:

SQL> connect soe/soe
SQL> show user

USER is "SOE"

SQL> set linesize 100
SQL> set pagesize 200
SQL> col TABLE_NAME format a30
SQL> select * from cat where TABLE_TYPE='TABLE';

TABLE_NAME  TABLE_TYPE
------------------------- -----------
CUSTOMERS             TABLE
ADDRESSES             TABLE
CARD_DETAILS          TABLE
WAREHOUSES            TABLE
ORDER_ITEMS           TABLE
ORDERS                TABLE
INVENTORIES           TABLE
PRODUCT_INFORMATION   TABLE
LOGON                 TABLE
PRODUCT_DESCRIPTIONS  TABLE
ORDERENTRY_METADATA   TABLE

11 rows selected.

Za pomocą polecenie „select count(*) from nazwa_tabeli” sprawdzamy ilość wprowadzonych wierszy:

TABLE_NAME                  ILOSC_WIERSZY
------------------------ ------------------
CUSTOMERS                  1012012  wierszy
ADDRESSES                  1512017  wierszy
CARD_DETAILS               1512012  wierszy
WAREHOUSES                    1000  wierszy
ORDER_ITEMS                4384219  wierszy
ORDERS                     1462369  wierszy
INVENTORIES                 897672  wierszy
PRODUCT_INFORMATION           1000  wierszy
LOGON                      2426884  wierszy
PRODUCT_DESCRIPTIONS          1000  wierszy

Schemat SALES HISTORY (SH)

następnym krokiem będzie utworzenie schematu SH. Wykonujemy go analogicznie jak schemat OE.
Uruchamiamy instalatora :

./shwizard

Sprawdzamy utworzone tabele:
SQL> connect sh/sh
SQL> show user

USER is "SH"

SQL> select * from cat where TABLE_TYPE='TABLE';

    TABLE_NAME            TABLE_TYPE
------------------------- -----------
CHANNELS                      TABLE
COUNTRIES                     TABLE
CUSTOMERS                     TABLE
PROMOTIONS                    TABLE
PRODUCTS                      TABLE
SUPPLEMENTARY_DEMOGRAPHICS    TABLE
SALES                         TABLE
TIMES                         TABLE

8 rows selected.

   TABLE_NAME                    ILOSC_WIERSZY
---------------------------- ---------------------
CHANNELS                             0  wierszy
COUNTRIES                            0  wierszy
CUSTOMERS                      1626064  wierszy
PROMOTIONS                         400  wierszy
PRODUCTS                             0  wierszy
SUPPLEMENTARY_DEMOGRAPHICS     1493184  wierszy
SALES                         14728759  wierszy

Schemat Calling Circle Benchmark (CC)

Trzeci schemat instalujemy podobnie

./ccwizard

Instalujemy go analogicznie jak poprzednie.

Niestety tu coś poszło nie tak, bo tabele zostały utworzone, ale nic do nich nie zostało zapisane. 🙁

Po krótkiej analizie wyszło że utworzony user nie ma wystarczającej ilości uprawnień do zapisu do przestrzeni CCDATA oraz po utworzeniu nie ma ustawionej tej przestrzeni jako domyślnej. Należy przygotować odpowiedni skrypt tworzący użytkownika CC z odpowiednimi uprawnieniami i uruchomić go tuż przed końcowym zatwierdzeniem instalatora.

Wszystko się wykonuje poprawnie ale wyświetla podsumowania tak jak w przypadku schematów SOE i SH.

Ilość zapisanych wierszy w tabelach usera CC:

TABLE_NAME       ILOSC_WIERSZY
-------------- ----------------
PACKAGESLOTS           100
PACKAGECLIS       10000000
DIALCODES             1002
CUSTCLIS           1000000
CUSTACCOUNTS       1000000
CC_PARAMS                1
CALLPACKAGES            10

TPCDSLIKE

Następnym krokiem będzie stworzenie schematu TPCDSLIKE. Wykonujemy to analogicznie jak poprzednie schematy. Tym razem tylko ustawimy paralelizm na 2 co znacznie przyspieszyło proces tworzenia schematu i zmniejszyło w tym czasie obciążenie serwera.

Uruchamiamy instalator:

./tpcdswizard

Sprawdzamy utworzony schemat

SQL> connect tpcdslike/tpcdslike
SQL> set linesize 100
SQL> set pagesize 200
SQL> col TABLE_NAME format a30
SQL> select * from cat where TABLE_TYPE='TABLE';

TABLE_NAME                     TABLE_TYPE
------------------------------ -----------
CALL_CENTER                    TABLE
CATALOG_PAGE                   TABLE
CATALOG_RETURNS                TABLE
CATALOG_SALES                  TABLE
CUSTOMER                       TABLE
CUSTOMER_ADDRESS               TABLE
CUSTOMER_DEMOGRAPHICS          TABLE
DATE_DIM                       TABLE
HOUSEHOLD_DEMOGRAPHICS         TABLE
INCOME_BAND                    TABLE
INVENTORY                      TABLE
ITEM                           TABLE
PROMOTION                      TABLE
REASON                         TABLE
SHIP_MODE                      TABLE
STORE                          TABLE
STORE_RETURNS                  TABLE
STORE_SALES                    TABLE
TIME_DIM                       TABLE
WAREHOUSE                      TABLE
WEB_PAGE                       TABLE
WEB_RETURNS                    TABLE
WEB_SALES                      TABLE
WEB_SITE                       TABLE

24 rows selected.

Korzystając z count(*) sprawdzamy ilość wpisów w tabelach:

SQL> connect tpcdslike/tpcdslike
SQL> set linesize 100
SQL> set pagesize 200
SQL> col TABLE_NAME format a30
SQL> select * from cat where TABLE_TYPE='TABLE';

TABLE_NAME                     TABLE_TYPE
------------------------------ -----------
CALL_CENTER                    TABLE
CATALOG_PAGE                   TABLE
CATALOG_RETURNS                TABLE
CATALOG_SALES                  TABLE
CUSTOMER                       TABLE
CUSTOMER_ADDRESS               TABLE
CUSTOMER_DEMOGRAPHICS          TABLE
DATE_DIM                       TABLE
HOUSEHOLD_DEMOGRAPHICS         TABLE
INCOME_BAND                    TABLE
INVENTORY                      TABLE
ITEM                           TABLE
PROMOTION                      TABLE
REASON                         TABLE
SHIP_MODE                      TABLE
STORE                          TABLE
STORE_RETURNS                  TABLE
STORE_SALES                    TABLE
TIME_DIM                       TABLE
WAREHOUSE                      TABLE
WEB_PAGE                       TABLE
WEB_RETURNS                    TABLE
WEB_SALES                      TABLE
WEB_SITE                       TABLE

24 rows selected.

Następnym krokiem będzie uruchomienie SwingBench’a i podpięcie się do bazy…

cdn

Ten wpis został opublikowany w kategorii Oracle, SwingBench i oznaczony tagami , . Dodaj zakładkę do bezpośredniego odnośnika.

Dodaj komentarz