Testowanie bazy wiedzy - Omega-PSIR
Transkrypt
Testowanie bazy wiedzy - Omega-PSIR
R Ω-Ψ Uczelniana Baza Wiedzy Testowanie Bazy Wiedzy Wersja 1.0 Wydział Elektroniki i Technik Informacyjnych i Biblioteka Główna Page 1 Politechnika Warszawska Historia dokumentu wersji wersji Opis zmian Autor 2 Data Page Numer Spis treści 1 Wprowadzenie .............................................................................................................. 4 2 Testy funkcjonalne......................................................................................................... 5 2.2 Testowanie interfejsu redaktora........................................................................................ 6 Badanie wydajności systemu repozytoryjnego ............................................................ 27 3.1 Cel badań ...................................................................................................................... 27 3.2 Narzędzia....................................................................................................................... 27 3.3 Charakterystyka ruchu portalu WEiTI ............................................................................. 27 3.4 Założenia dotyczące obciążenia .................................................................................... 28 3.5 Scenariusze testowe ...................................................................................................... 28 3.6 Wyniki badań i wnioski ................................................................................................... 29 Wnioski i dalsze kroki .................................................................................................. 32 3 4 Założenia ......................................................................................................................... 5 Page 3 2.1 1 Wprowadzenie W okresie 01.2012-07.2012 w ramach etapu B26 realizowano prace nad zagadnieniami związanymi z budową Repozytorium Uczelnianego. Zadanie jest realizowane przez zespół pracowników z II, WEiTI oraz BG PW. Prace nad uczelnianą bazą wiedzy są prowadzone przede wszystkim z zastosowaniem wyników etapu B3, ale także etapów B11 i B12. W raportowanym okresie skoncentrowano się na następujących zagadnieniach: 1. Metody testowania wybranych kategorii zasobów informacyjnych 2. Metody testowania wybranych elementów funkcjonalnych 3. Przeprowadzenie testów wydajnościowych W pracach wykorzystano doświadczenia zespołu w realizacji wydziałowego repozytorium REPO zaimplementowanego w roku 2010 dla Wydziału Elektroniki i Technik Informacyjnych Politechniki Warszawskiej. Analiza pokazała możliwość szybkiego zaadaptowania systemu do potrzeb uczelnianej bazy wiedzy. Dlatego też dokonano adaptacji w systemie REPO. Zmiany te miały na tyle zasadniczy charakter, że postanowiono wyróżnić uzyskane oprogramowanie jako system o nowej nazwie Omega. Na niniejsze opracowanie składa się 4 rozdziałów. Rozdział 2 jest przedstawione są analizy Page 4 funkcjonalne systemu, zaś Rozdział 3 prezentuje badania wydajnościowe systemu. 2 Testy funkcjonalne 2.1 Założenia Do ogólnych założeń konstrukcyjnych przyjętych przy realizacji systemu zaliczyć należy tu w szczególności: 1. Elastyczność traktowania metadanych – tak, aby możliwe było dostosowanie opisów bibliograficznych do potrzeb istniejących już systemów, w tym w szczególności systemu BIBLIO Biblioteki Głównej oraz bibliotek wydziałowych wykorzystujących oprogramowanie Aleph, przy jednoczesnym umożliwieniu eksportu i importu danych do systemów zewnętrznych (w tym w szczególności do systemu dLibra, stosowanego przez Federację Bibliotek Cyfrowych; np. docelowy system także stanowić mógłby element FBC); 2. Elastyczność w zakresie możliwości rozszerzania systemu, w szczególności definiowania większości parametrów systemu bez potrzeby ingerowania w kod systemu i przeprogramowywania go. W szczególności dotyczy to: a. definiowania (i redefiniowania) struktur danych, oraz towarzyszących im formularzy do wprowadzania danych, warunków integralności danych b. definiowanie ekranów wyszukiwania dla poszczególnych typów obiektów (i/lub grup) oraz definiowanie sposobów prezentacji wyników, sortowania, w tym także definiowanie struktur na potrzeby eksportu danych, np. w formie Excela, BIBTEXa, itp; c. definiowanie reguł dostępu d. definiowanie reguł oceny parametrycznej Narzędzia pozwalające definiować możliwości systemu zostały zrealizowane w ten sposób, że nie ma potrzeby wprowadzania zmian w oprogramowaniu systemu w przypadkach zmieniających się wymagań co do systemu. Zmiany takie mogą być przeprowadzane przez administratora systemu. Zrealizowane narzędzia są opisane w niniejszym rozdziale w p. 3.2. Page przypadkach – w pełni automatycznej) weryfikacji metadanych oraz deduplikacji 5 3. Stworzenie mechanizmów półautomatycznej (lub nawet – w uzasadnionych obiektów składowanych w repozytorium, w tym zastosowaniem metod automatycznego przetwarzania języka naturalnego i eksploracji danych; 4. Wykorzystanie otwartych formatów danych, w tym w szczególności formatu PDF/A i/lub Pub dla dokumentów tekstowych, oraz Ogg Vorbis / Theora dla dokumentów audiowizualnych; 5. Wykorzystanie uznanych za standardy dla bibliotek cyfrowych protokołów transmisji danych (OAI-PMH, OAI-ORE) i organizacji meta danych (Dublin Core). 6. Elastyczna konstrukcja repozytorium, pozwalająca użytkować system w wersji rozproszonej, jak też w wersji scentralizowanej; W niniejszym rozdziale pokrótce omówiona zostanie architektura systemu OMEGA, rozwiązania w zakresie przyjętych struktur danych oraz podstawowe narzędzia administratora zrealizowane w systemie. 2.2 Testowanie interfejsu redaktora Testy przeprowadziła M. Sadowska-Hinc, mająca doświadczenie i umiejętności związane z pracą w Ośrodku Informacji Naukowej BG PW, ale nie przeszkolona w zakresie oprogramowania. Wybór taki miał pomóc w ocenie trudniej uchwytnych cech, jak intuicyjność. Test miał dwie części: w pierwszej części chodziło o wyszukiwanie informacji, bez jej wprowadzania, w części drugiej doszło wprowadzanie. 2.2.1 Wyszukiwanie informacji. Ocena ogólna Page 6 1. Na etapie wyszukiwania proste i intuicyjne okienko. Jak się domyślam w okienku Szukaj możemy wpisać dowolny element z opisu rekordu. Na co dzień tyle wystarczy, ale może warto wprowadzić wyszukiwanie zaawansowane, gdzie będzie można wyszukiwać w każdym z pól opisu z osobna. Na przykład będziemy chcieli szybko stworzyć listę książek Kowalskiego z lat 2000- ale tylko z punktacją 5 2. W nawiązaniu do poprzedniego wyszukiwania mogą nas interesować tylko publikacje z punktacją co najmniej 5 3. Literówka w słowie książki, artykuły i tłumaczenia w lewym menu 4. Warto dodać możliwość sortowania wyników w zależności od obranego kryterium, tzn. szukam publikacji od 2000 roku, w tej chwili otrzymuje 3388. Są uszeregowane wg pierwszego autora. Może warto dodać możliwość szeregowania wg chociażby tytułu, roku, punktacji, wydawcy Page 7 itp. 5. Brakuje możliwości przeskoku do konkretnej strony – można przesuwać się tylko suwakiem, co w przypadku 200 stron jest bardzo niewygodne. 6. Przydałaby się możliwość ustawienia – każdy użytkownik sam wybiera ile rekordów wyświetla się na stronie np. 20 czy 50 7. Dodatkowo jak przejdę suwakiem do danej strony, wejdę np. w Info lub Pokaż a następnie wycofam się do strony poprzedniej to system wraca na pierwszy ekran. Jest to bardzo niewygodne bo ponownie muszę przedzierać się do wybranej strony. 8. Po najechaniu na autora w Info otrzymuję tylko informacje o Instytucie, ale bez nazwy wydziału (domyślam się że to będzie dodane). Page 8 9. W przypadku osób z innych placówek może lepiej dopisać informację np. osoba z zewnątrz czy spoza uczelni, zamiast kreski. Kreska wprowadza wahanie, czy znaczy brak danych, błąd osoby wprowadzającej czy właśnie afiliację zewnętrzną. 10. Czym różni się Gość od Osoby z zewnątrz? (brak tutaj polskich liter w słowie gość i zewnątrz) Page 9 11. Odnośnie powyższego zrzutu – czy nie lepiej zamienić Dyplomant na Student? Może zdarzyć się, że coś opublikuje. 12. Literówka powyżej – Imie na Imię , a po Akronim jednostki organizacyjnej spacja i dopiero nawias 13. W doktoratach – domyślam się że akronim PE dotyczy zakładu, ale dla osoby niezwiązanej z wydziałem to taki akronim nic nie mówi – może gdzieś obok powinien być wykaz. 14. Szkoda że tekst streszczenia nie rozciąga się na cały ekran – pewnie zależy to od monitora, Page 10 15. Dlaczego jak w Doktoratach wpisałam Arabas Jarosław to otrzymuje 5 pozycji z czego w dwóch widzę, że wpisany pracownik był promotorem i autorem pracy doktorskiej, a pozostałe jak są powiązane z zapytaniem? 16. W przypadku afiliacji wygodniej by było wybrać wydział i od razu przejść do jego publikacji – lub zakład i do jego publikacji. Teraz trzeba w tym celu wejść jeden krok dalej do Info. 17. Po wejściu w wydział w Info system bardzo długo szuka danych do pola Liczba wersji danego rekordu (sprawdzałam dla WEiTI) Page 11 18. Dlaczego po wpisaniu nazwiska Rybinski w Autorzy i pracownicy system wyświetla 5 rekordów, w dodatku właściwa osoba jest na końcu (rozumiem że alfabetycznie); ale nie intuicyjnie. Page 12 19. Jeżeli te pozostałe osoby wymienione powyżej to doktoranci profesora, to powinni to być gdzieś wskazane. (patrz wyżej) Page 13 20. Wg jakiego klucza uszeregowani zostali autorzy instytucjonalni? Page 14 21. Wg jakiego klucza uszeregowano konferencje? 22. Jak szeregować tytuły czasopism – czy brać pod uwagę rodzajniki, np. ‘the’?; ja bym wolała bez, przykład jak jest obecnie poniżej (The Anatolian Journal of Cardiology) Page 15 23. Przydała by się możliwość zawężania do dokumentów, do których dołączono pełny tekst w PDF. 24. W jaki sposób ustalane są nazwy klików PDF? 25. Czy jest jakaś możliwość wyeksportowania uzyskanych rezultatów do innych programów, czy to już będzie w interfejsie zwykłego użytkownika? 26. Do czego służy zaznacz/odznacz wszystko – próbuję zaznaczyć ale nie widzę różnicy? Page 28. „Nazwa algorytmów punktujących”? Domyślam się co to znaczy ale skomplikowane sformułowanie 16 27. Czy jest możliwość wprowadzenia pracy, w której redaktorem jest nasz pracownik i dodatkowo nasi pracownicy są też redaktorami? Czy rolę autora można ustawić tylko albo tak albo tak? Page 17 29. Wygodniej by było, żeby przy każdym polu do wprowadzania danych były dwa zdania co i jak tam wpisać, szczególnie jeżeli dużo osób będzie uzupełniać dane. 30. book.field ? Co to znaczy? 2.2.2 Wprowadzanie danych Page 18 1. Wprowadziłam pierwszą z brzegu książkę, pt. Vademecum organizacji europejskich – dwa rekordy do usunięcia id - WUT13442 i WUT13443. Po zakończeniu edycji połączyłam oba rekordy wybierając jeden poprawny – wiodący. Page b) Przy wprowadzaniu danych do pola Autor próbowałam wprowadzić jako redaktora osobę z PW, a następnie zmieniłam rolę na Autor, jako autora dodałam kolejną osobę z PW. W trakcie wprowadzania danych nie widzę, czy dobrze oznaczyłam role. 19 a) Przy wprowadzaniu danych brakowało mi instrukcji, a nie byłam przeszkolona w tym zakresie stąd zapewne wiele wątpliwości. Nie zajmuję się w Bibliotece opracowaniem dlatego nie jest dla mnie oczywiste jakiego typu danych oczekuje się w poszczególnych polach. Po zapisaniu rekordu wydaje się że system pozwala albo tylko wprowadzić redaktorów albo tylko autorów. Rolę wybiera się raz. Nie ma możliwości wprowadzenia w jednym rekordzie obu tych ról. c) Brakuje możliwości zapisania wersji roboczej rekordu. Chciałam na chwilę zawiesić wprowadzanie danych, a następnie powrócić do rekordu ale nie został zapisany, ponieważ w roboczym opisie były elementy niepoprawne. d) Może zamiast „Adres wydawcy” – „Miejsce wydania” e) Może zamiast „Paginacja” – Strony lub ewentualnie Liczba stron, chociaż w artykułach będzie do zakres stron f) Może zamiast Pick file – Wybierz plik g) Dodałam okładkę książki – Czy nazwa pliku może być dowolna? Ja nazwy nie zmieniłam, dodałam domyślną, nadaną przez księgarnie internetową - Vademecumorganizacji-europejskich_J-Gajewski,images,6,83-87545-50-3.jpg h) Obiekt dodany w polu Plik - to pewnie np. pełny tekst dokumentu o ile jest dostępny? i) Czy lepiej pozostawić „Data wydania”, czy po prostu „Rok” lub ewentualnie Rok wydania 20 Po zapisaniu rekordu i odszukaniu go – w wierszu wprowadzonego przeze mnie rekordu pojawia się nieco więcej funkcji, niż w przypadku pozostałych rekordów. Nie Page j) wiem dlaczego? k) wprowadziłam drugi rekord – tą samą książkę ale z nieco zmienionym opisem. Bez problemu połączyłam oba rekordy wybierając jeden wiodący. Page 21 l) wprowadziłam dowolny artykuł z czasopisma, do usunięcia - id WUT13451. Czy w zakładce „Opis” nie przydałaby się funkcja sprawdzania, która koryguje lub zwraca uwagę na to czy słowa kluczowe są rozdzielone tym samym znakiem interpunkcyjnym – ja wprowadziłam i średnik i przecinek i obie formy zostały przyjęte. Może w tej chwili nie jest to istotne ale w przypadku automatycznej konwersji danych do innego programu, może okazać się ważne. Page 22 m) Dlaczego przy dodawaniu tłumaczeń niektóre pola są oznaczone gwiazdką, a w przypadku wprowadzania książek i artykułów nie ma takich oznaczeń? Podobnie w zakładce Projekty n) Czy taki podział na rodzaje książek jest zawsze wystarczający? – tzn. Monografia, Podręcznik akademicki, Skrypt. Pewnie wynika to z przydzielanej punktacji, ale mogą zdarzyć się takie publikacje jak tablice dziedzinowe, encyklopedie, słowniki – pracownik może być chociażby redaktorem.... ? Jak je klasyfikujemy? Page 23 o) W zakładce Tłumaczenia kilka pól do przetłumaczenia, np. translation.URL, translation.journal, translation.field Funkcje Redaktorskie. p) Czy powinno być Nazwisko edytora czy Nazwisko redaktora? q) Najpierw zaznacza się Redakcja Czasopisma, Redakcja wydania specjalnego czasopisma lub Redakcja serii książkowej a później pojawia się pole o nazwie „Czasopismo”??? r) W opisie „Funkcji redaktorskich” dwa razy pojawiają się pola punktacji – czy to oznacza, że stosuje się dwie punktacje – jedna odnosi się do tytułu, a druga do osoby? Page 24 s) Czy dane w polu „Funkcja” nie powinny być w jakiś sposób ujednolicone, pobierane z listy? W jednym z rekordów ktoś podał Funkcja: red., a w innych jest poprawniej np. Senior Editor t) Brakuje możliwości przechodzenia do kolejnych rekordów za pomocą np. Następny. Po wejściu w Pokaż lub w Info mogę tylko powrócić do zbiorczej tabelki, a nie mogę przejść bezpośrednio do kolejnej pozycji z tabeli. 2.2.3 Funkcje pomocnicze Brak polskich znaków lub tłumaczenia w różnych miejscach, np. Afiliacja nadrzedna, Imie, Page 25 Pokoj, authorprofile.field, journalseries.type, Typy projektow Page 26 3 Badanie wydajności systemu repozytoryjnego 3.1 Cel badań Celem badań było oznaczenie czasów odpowiedzi systemu w zależności od liczby równoległych użytkowników a także wskazanie komponentów systemu które należy niezwłocznie lub w przyszłości zaktualizować w celu poprawy wydajności. Badania związane są z przeniesieniem instalacji repozytorium z poziomu wydziałowego na poziom uczelniany. 3.2 Narzędzia Testy obciążeniowe zostały przeprowadzone z użyciem narzędzia JMeter (http://jmeter.apache.org/) które umożliwia min: nagrywanie scenariuszy testowych na podstawie aktywności użytkownika, przez podłączenie do przeglądarki internetowej parametryzację scenariuszy testowych z użyciem zewnętrznych źródeł danych uruchamianie scenariuszy testowych w sposób równoległy dla wielu symulowanych użytkowników uruchamianie testów rozproszonych raportowanie Badanie wąskich gardeł zostało zrealizowane przy użyciu wtyczki Java Monitor dla środowiska Eclipse. 3.3 Charakterystyka ruchu portalu WEiTI Maksymalna odnotowana liczba odsłon portalu WEITI w ciągu doby wynosi 20000 przy 4000 użytkownikach. Maksymalna liczba odsłon w ciągu godziny wynosi 1356 przy 359 użytkownikach. Średni czas trwania sesji użytkownika wynosi 5 min. Daje to w przybliżeniu Page 27 6 użytkowników w ciągu minuty i 23 odsłony w ciągu minuty. 3.4 Założenia dotyczące obciążenia Statystyki przytoczone dotyczą całego portalu. Ruch w obrębie repozytorium to na razie około 5 promili całego ruchu wydziałowego. Zakładać należy jednak iż przyjęcie jako wartości odniesienia ruchu dla całego wydziału będzie gwarantować bezpieczną ocenę zdolności systemu do udźwignięcia ruchu całej uczelni w zakresie świadczenia dostępu do repozytorium. Środowisko testowe Pamięć RAM: 8GB Dysk twardy: 160GB Procesor: 4-rdzeniowy 2666 Mhz 3.5 Scenariusze testowe Do badań zostały wybrane dwa scenariusze testowe, bazujące na zrachowaniach edytorów i gości portalu. Scenariusz 1. Scenariusz polega na wyszukiwaniu w pełnej bazie publikacji za pomocą wyszukiwania pełno tekstowego przez użytkownika niezalogowanego. Jest to możliwie najbardziej czasochłonny proces realizowany przez system ze względu na konieczność przeszukania wszystkich rekordów, wszystkich typów, w tym po treści dokumentów. W bazie danych w chwili testów występowało około 10 tys. publikacji. Frazy zapytań zostały przygotowane tak, by zbadać zależność prędkości od liczby zwracanych wyników, a także by każdy wątek mógł operować na różnej frazie, co minimalizuje wpływ mechanizmów cache’owania bazy danych i silnika indeksowania na obserwowalną wydajność systemu. Scenariusz 2. Scenariusz ten odzwierciedla pracę edytora. Polega na uwierzytelnieniu się w systemie autoryzacji CAS, przejścia do ekranu artykułów – wyszukania autora z pomocą Page 28 automatycznego podpowiadania. Wyszukiwanie właściwe. Scenariusz ten jest mniej istotny, gdyż ruch w sekcji dla zalogowanych edytorów powinien być istotnie niższy niż publiczny dostęp do repozytorium. 3.6 Wyniki badań i wnioski 3.6.1 Badanie czasu odpowiedzi Eksperyment 1: Badanie czasu odpowiedzi przy obciążeniach zbliżonych i kilkukrotnie je przekraczających. Czas uruchomiania wątków: 60s, każdy wątek zadaje inne zapytanie inne niż „pokaż wszystkie”. (wg scenariusza 1) l. Łączna użytkowników liczba odsłon 25 100 25 100 Czas minimalny odpowiedzi [ms] 200 83 Czas średni Czas odpowiedzi maksymalny [ms] odpowiedzi [ms] 810 2300 835 5562 Wniosek: wyniki pokazują iż przy założonym ruchu i kilkukrotnie go przekraczającym system jest w stanie reagować w czasie umożliwiającym użytkownikom wygodną pracę 3.6.2 Badanie wpływu mechanizmu „cache” Eksperyment 2: Badanie wpływu mechanizmów „cache”. Czas uruchomiania wątków: 60s, 100 użytkowników, każdy zadaje jedno pytanie inne niż „pokaż wszystkie” (wg scenariusza 1) Nr Czas uruchomienia minimalny odpowiedzi [ms] Pierwsze 83 uruchomienie Kolejne 79 uruchomienia Czas średni Czas odpowiedzi maksymalny [ms] odpowiedzi [ms] 835 5562 179 454 Wniosek: wyniki pokazują duże znaczenie mechanizmów cache’u, które działają nawet przy Page 29 wielu różnych zapytaniach generowanych przez użytkowników. 3.6.3 Badanie zachowania systemu przy przeciążeniach Eksperyment 3: Badanie zachowania systemu przy przeciążeniach (wg scenariusza 1) l. Łączna użytkowników liczba odsłon 100 1000 1000 1000 Czas minimalny odpowiedzi [ms] 83 25 Czas średni Czas odpowiedzi maksymalny [ms] odpowiedzi [ms] 6401 73251 67000 301000 % błędnych odpowiedzi (np. timeout) 0% 50% Wniosek: system reaguje w rozsądnym czasie przy 1000 odsłonach na minutę pod warunkiem iż żądania nie pochodzą od 1000 różnych użytkowników. Wykres skalowania w zależności od ilości odwołań prezentowany jest poniżej. W drugim przypadku system odrzuca połączenia. Jest to spowodowane tym iż każda sesja musi być zarządzana przez serwer przez 30 min od pierwszego zgłoszenia, co powodowałoby ataki typu DOS. Przed taką sytuacją chroni konfiguracja serwera. Zwiększenie parametrów serwera jest możliwe, ale dodatkowe prace Na podstawie czasów odpowiedzi można zaobserwować, że zablokowanie serwera musiałoby wystąpić. Page 1 30 musiałby być wykonane (np. skracanie czasu sesji) celem uniknięcia zatkania serwera1. 3.6.4 Badanie wydajności interfejsu edytora Eksperyment 4: Badanie wydajności interfejsu edytora dla różnych czynności (wg scenariusza 2). Liczba użytkowników: 100. Optymalizacje: W trakcie prac dokonano 5-krotnego przyspieszenia działania systemu dzięki korekcie mechanizmu sortowania, a prezentowane wyniki odzwierciedlają stan po wykonanej optymalizacji. Zidentyfikowano dodatkowy czynnik, którego wyeliminowanie może przynieść dodatkową kilkukrotną poprawę. Ze względu na satysfakcjonujące wyniki – Page 31 optymalizacja ta nie została na razie zaimplementowana. 4 Wnioski i dalsze kroki Od testów minęło ponad rok. Usterki funkcjonalne są usuwane na bieżąco. Ze względu na ciągły rozwój systemu istnieje konieczność jego ciągłego testowania zwłaszcza w okresach zmiany wersji. Od momentu realizacji opisanych tu testów – dokonane zostały liczne optymalizacje podnoszące wydajność systemu takie jak odchudzenie sesji użytkownika, poprawa mechanizmów sortowania, skrócenie czasu sesji dla użytkowników zewnętrznych i wiele innych. Niezbędny będzie dalszy monitoring pracy systemu w miarę zwiększania liczby użytkowników zewnętrznych. Spodziewać się można iż liczba użytkowników wewnętrznych PW zostanie zwiększona nieznacznie w stosunku do możliwości systemu. Istnieje jednak możliwość, iż ruch generowany z wyszukiwarek może rosnąć w miarę zwiększania się liczby zasobów udostępnianych przez repozytorium. W tym kontekście kluczowe jest zapewnienie jakości pracy użytkownikom PW w szczególności w okresach sprawozdawczych, tak aby nasilony ruch z zewnątrz obniżał czasy odpowiedzi dla użytkowników z zewnątrz, zaś dla Page 32 użytkowników wewnętrznych pozostawał na niezmienionym poziomie.