Wynik ewaluacji i badań przemysłowych modelu środowiska eksponującego Open Data. Maksymalna wydajność i testy funkcji systemu



Podobne dokumenty
DOTACJE NA INNOWACJE. Zapytanie ofertowe

Platforma do obsługi zdalnej edukacji

Kancelaris - Zmiany w wersji 2.50

Opis zmian funkcjonalności platformy E-GIODO wprowadzonych w związku z wprowadzeniem możliwości wysyłania wniosków bez podpisu elektronicznego

GEO-SYSTEM Sp. z o.o. GEO-RCiWN Rejestr Cen i Wartości Nieruchomości Podręcznik dla uŝytkowników modułu wyszukiwania danych Warszawa 2007

elektroniczna Platforma Usług Administracji Publicznej

Opis obsługi systemu Ognivo2 w aplikacji Komornik SQL-VAT

Spis treści. Rozdział 1 ewyniki. mmedica - INSTR UKC JA UŻYTKO W NIKA

Dokumentacja wersji produkcyjnej. platformy. udostępniającej Open Data Konfiguracja. platformy. Dokumentacja konfiguracyjna.

Formularz rzeczowo-cenowy PAKIET 2

DOTACJE NA INNOWACJE ZAPYTANIE OFERTOWE

INSTRUKCJA WebPTB 1.0

Instrukcja Obsługi STRONA PODMIOTOWA BIP

Instalacja. Zawartość. Wyszukiwarka. Instalacja Konfiguracja Uruchomienie i praca z raportem Metody wyszukiwania...

Miejski System Zarządzania - Katowicka Infrastruktura Informacji Przestrzennej

Politechnika Warszawska Wydział Matematyki i Nauk Informacyjnych ul. Koszykowa 75, Warszawa

Uchwała nr 21 /2015 Walnego Zebrania Członków z dnia w sprawie przyjęcia Regulaminu Pracy Zarządu.

Lublin, Zapytanie ofertowe

INFORMATOR TECHNICZNY WONDERWARE. Instalacja oprogramowania Industrial Application Server 2.1

Poznań, 03 lutego 2015 r. DO-III

Poniżej instrukcja użytkowania platformy

API transakcyjne BitMarket.pl

Bazy danych. Andrzej Łachwa, UJ, /15

SKRÓCONA INSTRUKCJA OBSŁUGI ELEKTRONICZNEGO BIURA OBSŁUGI UCZESTNIKA BADANIA BIEGŁOŚCI

Przekształcenie danych przestrzennych w interaktywne mapy dostępne na stronach www (WARSZTATY, poziom podstawowy)

MINISTERSTWO PRACY I POLITYKI SPOŁECZNEJ

Na podstawie art.4 ust.1 i art.20 lit. l) Statutu Walne Zebranie Stowarzyszenia uchwala niniejszy Regulamin Zarządu.

Instrukcja postępowania w celu podłączenia do PLI CBD z uwzględnieniem modernizacji systemu w ramach projektu PLI CBD2

Microsoft Management Console

Procedura nadawania uprawnień do potwierdzania Profili Zaufanych w Urzędzie Gminy w Ryjewie

Regulamin Zarządu Pogórzańskiego Stowarzyszenia Rozwoju

Regulamin korzystania z serwisu

Zarządzanie projektami. wykład 1 dr inż. Agata Klaus-Rosińska

Procedura nadawania uprawnień do potwierdzania, przedłuŝania waŝności i uniewaŝniania profili zaufanych epuap. Załącznik nr 1

OPIS PRZEDMIOTU ZAMÓWIENIA DO ZAPYTANIA KE1/POIG 8.2/13

Regulamin korzystania z Systemu invooclip przez Adresata i Odbiorcę

Automatyzacja procesu publikowania w bibliotece cyfrowej

Instrukcja obsługi platformy zakupowej e-osaa (klient podstawowy)

INFORMATOR TECHNICZNY WONDERWARE

Warunki Oferty PrOmOcyjnej usługi z ulgą

Instrukcja programu PControl Powiadowmienia.

Audyt SEO. Elementy oraz proces przygotowania audytu. strona

POWIATOWY URZĄD PRACY W LIDZBARKU WARMIŃSKIM

Zobacz to na własne oczy. Przyszłość już tu jest dzięki rozwiązaniu Cisco TelePresence.

Charakterystyka systemów plików

Możliwości publikacji zbiorów danych przestrzennych w ramach infrastruktury informacji przestrzennej z zastosowaniem komponentów GUGiK

TWORZENIE I NADZOROWANIE DOKUMENTÓW SYSTEMOWYCH (PROCEDUR, KSIĘGI JAKOŚCI I KART USŁUG) SJ Data:

ZAPYTANIE OFERTOWE NR 1

IZBA CELNA WE WROCŁAWIU Wrocław, dnia 30 kwietnia 2012 r. Ul. Hercena Wrocław

ODPOWIEDZI NA ZAPYTANIA

INFORMATOR dotyczący wprowadzania do obrotu urządzeń elektrycznych i elektronicznych aparatury, telekomunikacyjnych urządzeń końcowych i urządzeń

Ewidencja abonentów. Kalkulacja opłat

Aplikacje internetowe oparte na kluczowych technologiach Java Enterprise(Servlet,JSP,JDBC, )

OPIS PRZEDMIOTU ZAMÓWIENIA

Aneks nr 8 z dnia r. do Regulaminu Świadczenia Krajowych Usług Przewozu Drogowego Przesyłek Towarowych przez Raben Polska sp. z o.o.

Oświęcim, dnia 26 listopada 2013r. Państwowe Muzeum Auschwitz-Birkenau w Oświęcimiu ul. Więźniów Oświęcimia Oświęcim

Zad.1 Pokazać pierwszeństwo trybu odmów przed zezwalaj.

Regulamin korzystania z aplikacji mobilnej McDonald's Polska

INSTRUKCJA TESTOWANIA USŁUG NA PLATFORMIE ELA-ENT

WYJASNIENIA I MODYFIKACJA SPECYFIKACJI ISTOTNYCH WARUNKÓW ZAMÓWIENIA

VLAN Ethernet. być konfigurowane w dowolnym systemie operacyjnym do ćwiczenia nr 6. Od ćwiczenia 7 należy pracować ć w systemie Linux.

Regulamin Obrad Walnego Zebrania Członków Stowarzyszenia Lokalna Grupa Działania Ziemia Bielska

Postanowienia ogólne. Usługodawcy oraz prawa do Witryn internetowych lub Aplikacji internetowych

Wprowadzam : REGULAMIN REKRUTACJI DZIECI DO PRZEDSZKOLA NR 14

Komunikacja w sieci Industrial Ethernet z wykorzystaniem Protokołu S7 oraz funkcji PUT/GET

Procedura działania Punktu Potwierdzającego Profile Zaufane epuap w Urzędzie Miejskim w Barcinie

POLITYKA PRYWATNOŚCI SKLEPU INTERNETOWEGO

Procedura działania Punktu Potwierdzającego Profile Zaufane epuap w Urzędzie Miejskim w Gdańsku

Zdalne odnawianie certyfikatów do SWI

Instrukcja użytkownika systemu MOBEVO

Zapytanie ofertowe dotyczące wyboru wykonawcy (biegłego rewidenta) usługi polegającej na przeprowadzeniu kompleksowego badania sprawozdań finansowych

ZAPYTANIE OFERTOWE NR 1/2014/POIG82 Program Operacyjny Innowacyjna Gospodarka

INSTRUKCJE DLA UśYTKOWNIKÓW STREFY KLIENTA NA PORTALU INTERNETOWYM

Pracownia internetowa w każdej szkole. Opiekun pracowni internetowej SBS 2003 PING

UCHWAŁA NR IV/20/2015 RADY GMINY PRZELEWICE. z dnia 24 lutego 2015 r.

Przewodnik Google Cloud Print

ZAKRES ZADAŃ WYKONAWCY

Oprogramowanie FonTel służy do prezentacji nagranych rozmów oraz zarządzania rejestratorami ( zapoznaj się z rodziną rejestratorów FonTel ).

Zapytanie ofertowe. Projekt realizowany przy współfinansowaniu ze środków Unii Europejskiej, w ramach Programu Operacyjnego Pomoc Techniczna

RZECZPOSPOLITA POLSKA. Prezydent Miasta na Prawach Powiatu Zarząd Powiatu. wszystkie

Testowanie i wdrażanie oprogramowania Emulator systemu bankowego

INFORMATOR TECHNICZNY WONDERWARE

Zarządzanie Zasobami by CTI. Instrukcja

1. Korzyści z zakupu nowej wersji Poprawiono Zmiany w słowniku Stawki VAT Zmiana stawki VAT w kartotece Towary...

Elementy i funkcjonalno

Procedura działania Punktu Potwierdzającego Profile Zaufane epuap w Urzędzie Gminy Wągrowiec

SPECYFIKACJA ISTOTNYCH WARUNKÓW ZAMÓWIENIA. na obsługę bankową realizowaną na rzecz Gminy Solec nad Wisłą

Nowości w module: BI, w wersji 9.0

Procedura działania Punktu Potwierdzającego Profile Zaufane epuap Urzędzie Gminy w Ułężu

W dobie postępującej digitalizacji zasobów oraz zwiększającej się liczby dostawców i wydawców

IBM SPSS Statistics dla systemu Linux Instrukcje dotyczące instalacji (jeden użytkownik)

Praca na wielu bazach danych część 2. (Wersja 8.1)

OPIS PRZEDMIOTU ZAMÓWIENIA

Administrator Konta - osoba wskazana Usługodawcy przez Usługobiorcę, uprawniona w imieniu Usługobiorcy do korzystania z Panelu Monitorującego.

Adres strony internetowej, na której Zamawiający udostępnia Specyfikację Istotnych Warunków Zamówienia:

Postanowienia ogólne.

PoluProduction. <jedi> Vision. Version 1.0

1. Warunki. 2. Zakładanie konta. 3. Logowanie. 4. Korzystanie z portalu partnera serwisowego 5. Subkonta 5.1Zakładanie subkonta. 5.

Transkrypt:

Dokument udostępniony na licencji Creative Commons Uznanie Autorstwa 3.0 Polska. http://creativecommons.org/licenses/by/3.0/pl/ Maksymalna wydajność i testy funkcji systemu Jarosław Legierski Henryk Rosa Adam Filisiński Tomasz Janisiewicz Wynik ewaluacji i badań przemysłowych modelu środowiska eksponującego Open Data Projekt współfinansowany przez Narodowe Centrum Badań i Rozwoju w ramach Programu Innowacje Społeczne.

Spis treści 1 Cel projektu 2 2 Scenariusz testów wydajnościowych 2 2.1 Testy dla platformy testowej - Data Server 4 2.2 Testy platformy testowej Function Server (Java) 6 2.3 Testy dla platformy produkcyjnej - Data Server 7 2.4 Testy platformy produkcyjnej Function Server (Java) 9 3 Scenariusz testów funkcjonalnych 10 3.1 Testy funkcjonalne dla platformy produkcyjnej 10 4 Podsumowanie 14 4.1 Analiza wyników testów wydajnościowych platformy przeprowadzonych w środowisku testowym 14 4.2 Analiza wyników testów wydajnościowych platformy przeprowadzonych w środowisku produkcyjnym 15 5 Słowniczek lista skrótów 16 6 Bibliografia 18 1

1 Cel projektu Celem projektu MUNDO [1] jest diagnoza możliwości ekspozycji oraz przygotowanie danych, które mogą zostać udostępnione przez Miasto Warszawa w modelu Open Data, a przede wszystkim budowa warstwy ekspozycji dla tych danych, w formie platformy eksponującej. Projekt MUNDO łączy w sobie opracowanie technologii do udostępnienia otwartych danych z metodologią społeczną, dotyczącą włączania różnych grup społecznych w działania na rzecz poprawy życia w mieście. W ramach prac konsorcjum prowadzone są działania, które przygotują techniczne zaplecze dla części społecznej projektu. Natomiast w części pilotażowej konsorcjum przeprowadzi konkurs na aplikacje internetowe dla Warszawy, by w ten sposób przekonać społeczeństwo o wadze otwartych danych (szczególnie publicznych) dla rozwoju miasta i ułatwienia funkcjonowania jego mieszkańców. Innowacyjność projektu MUNDO polega na jego złożoności oraz na łączeniu ram technicznych z ramami metodologii partycypacji społecznej w życiu miasta. Wartością projektu jest również jego replikowalność w innych miastach Polski, gdyż zarówno oprogramowanie platformy do ekspozycji otwartych danych, jak i metodologia prowadzenia działań społecznych zostaną udostępnione do wykorzystania dla zainteresowanych jednostek z użyciem wolnych licencji (GPL, LGPL, FDL, CC). 2 Scenariusz testów wydajnościowych W celu przeprowadzenia dokładnych testów wydajnościowych platformy testowej zainstalowanej w laboratoriach Orange, zbudowano dedykowane środowisko testowe, którego architektura została przedstawiona na rysunku poniżej. Wszystkie zewnętrzne zasoby i, do których odwołuje się platforma, były symulowane przez wysoko wydajny serwer z zainstalowanym oprogramowaniem Tomcat7. Testowane komponenty platformy (data server, function server) zostały zainstalowane na maszynach wirtualnych z mniej wydajną konfiguracją sprzętową, co pozwoliło ocenić efektywność oprogramowania przy dużym obciążeniu. Specyfikacja poszczególnych maszyn i ich konfiguracji została przedstawiona w tabeli 1. Do symulacji ruchu wykorzystano oprogramowanie open source Apache JMeter http://jmeter.apache.org/ W pierwszym kroku sprawdzono wydajność serwera symulującego zewnętrzne zasoby - dla wybranych osiągnięto wydajność rzędu 9500 requestów/s. W kolejnych krokach sprawdzono wydajność serwera back-end (function server), oraz serwera front-end (data server). Ruch pakietów sieciowych w trakcie testu odbywał się na drodze: generator Data Server Function Server Mock. 2

W następnym kroku wykonano testy wydajnościowe platformy w środowisku produkcyjnym z wykorzystaniem infrastruktury miasta Warszawa. W testach produkcyjnych platforma odwoływała się już do rzeczywistych zasobów zewnętrznych i. W związku z tym przy analizie tej części wyników należy brać pod uwagę ograniczenia związane z wydajnością samych zasobów oraz użytą infrastrukturą produkcyjną (dodatkowe Firewall sieciowe, http proxy itp.) Platforma MUNDO Generator ruchu (JMeter) www, webservices/ Dostęp poprzez serwer proxy data server CKAN Postgr esql ws() JDBC function server (java) JBOSS miejskie, DB SQL Serwer Mock Mock DB Rysunek 1. Schemat środowiska testowego dla testów wydajnościowych (FS+DS) 3

Tabela 1 Konfiguracja HW/SW elementów środowiska testowego CPU 2 vcore, 2,26 GHz HW RAM 2 GB 1. Data Server SW OS CentOS Linux release 7.0.1406 (Core) Apache Httpd Apache/2.4.6 CKAN 2.2 PostgreSQL Wersja 9.2.7 HW CPU RAM 2 vcore, 2,26 GHz 2 GB 2. Function Server (java) OS CentOS Linux release 7.0.1406 (Core) SW JAVA OpenJDK 1.7.0_71 JBOSS Wersja 7.1.1.FINAL z zainstalowaną aplikacją mundojava-backed (1.0) 3. Symulator Mock server HW SW CPU RAM OS JAVA 8 vcore, 2,13 GHz 8 GB Linux Ubuntu 12.04.5 LTS OpenJDK 1.7.0_55 ApacheTomcat Wersja 7 HW CPU Intel Core i7, 2,7 GHz RAM 16 GB 4. Generator ruchu SW OS Linux Ubuntu 14.04.2 LTS JAVA Apache JMeter 1.7.0_60-b19 2.12 r1636949 Wyniki testów przedstawiono w kolejnych podrozdziałach. 2.1 Testy dla platformy testowej - Data Server Testy przeprowadzono według schematu Rys.2. Sprawdzono wydajność dla przykładowych /WebServices udostępnianych przez serwer CKAN. Część WebServices opierała się na funkcjonalności function-serwer oraz na miejskich lub bazach danych symulowanych przez Mock serwer w tym wypadku testy obejmowały wszystkie komponenty systemu. Część WebServices jest realizowana bezpośrednio przez serwer CKAN w oparciu o zbiory z wewnętrznej bazy danych. Ruch pakietów sieciowych w trakcie testu odbywał się na drodze: generator Function Server Mock. 4

Na koniec wykonano test platformy przy ruchu mieszanym generując wywołania wszystkich typów WebServices uruchomionych na platformie. Platforma MUNDO Generator ruchu (JMeter) www, webservices/ Dostęp poprzez serwer proxy data server CKAN Postgr esql ws() JDBC function server (java) JBOSS miejskie, DB SQL Serwer Mock Mock DB Rysunek 2. Schemat środowiska testowego dla testów wydajnościowych (FS+DS) W tabeli poniżej przedstawiono maksymalne wydajności platformy testowej, jakie osiągnięto przy generowaniu ruchu dla poszczególnych rodzajów oraz przy ruchu mieszanym. Podczas testów średnie użycie procesora dla maszyny obsługującej data server kształtowało się na poziomie 75%. Użycie procesora na maszynie function serwer nie przekraczało 30%. Tabela 2 Wyniki testów data server Rodzaj Rozmiar [kb] Maksymalny ruch** [ request/s] Średni czas Min czas Max czas Stopa błędów [%] WebService (Queue) kolejki miejskie WMS getmap pobranie mapy WMS WFS getfeature pobranie informacji WFS (małej) WFS getfeature pobranie informacji WFS (dużej) DB api pobranie informacji z bazy danych (małej) DB api pobranie informacji z bazy danych (dużej) 4,2 61,8 1,932 0,043 11,574 0,00 66,1 55,0 2,172 0,136 6,55 0,00 44 42,5 2,807 0,115 10,652 0,00 768,6 14,4 8,254 0,435 14,881 0,00 22,4 56,7 2,106 0,058 10,652 0,00 379,2 21,2 5,601 0,435 14,881 0,00 realizowane przez CKAN - bez udziału function server (java) WMS StoreShow pobranie informacji o zasobie CKAN 0,2 74,0 1,615 0,040 12,874 0,00 DataStore (mały zbiór danych) 6 4,3 26,705 0,296 45,833 0,00 DataStore (duży zbiór danych) 535,6 2,8 40,739 3,560 52,413 0,00 Ruch mieszany (wywołania wszystkich wymienionych powyżej) - 11,3 10,419 0,047 43,124 0,00 5

** Przy próbach zwiększania ruchu powyżej wartości wskazanych w tabeli obserwowano znaczny wzrost stopy błędów i średnich czasów platformy. 2.2 Testy platformy testowej Function Server (Java) Testy przeprowadzono według schematu Rys.3. Sprawdzono wydajność dla przykładowych /WebServices udostępnianych przez function server (java) w oparciu o, oraz bazy danych miejskie symulowane na Mock server. Podczas testów średnie użycie procesora dla maszyny function serwer kształtowało się na poziome 85%. Platforma MUNDO Generator ruchu (JMeter) www, webservices/ Dostęp poprzez serwer proxy data server CKAN Postgr esql ws() JDBC function server (java) JBOSS miejskie, DB SQL Serwer Mock Mock DB Rysunek 3. Schemat środowiska testowego dla testów wydajnościowych (FS) Tabela 3 Wyniki testów function server (JAVA) Rodzaj Rozmiar [kb] Maksymalny ruch** [ request/s] Średni czas Min czas Max czas Stopa błędów [%] WebService (Queue) kolejki miejskie WMS getcapabilities 4,2 320,5 0,311 0,004 1,239 0,00 143,9 78,7 1,264 0,062 30,911 0,00 lista warstw WMS WMS getmap pobranie mapy WMS WFS getfeature pobranie informacji WFS (małej) WFS getfeature pobranie informacji WFS (dużej) 66,1 154,9 0,643 0,016 3,081 0,00 40,0 251,3 0,396 0,011 3,384 0,00 700,0 16,1 6,098 2,154 38,947 0,00 DB api (mały zbiór danych) 19,1 565,5 2,905 0,003 7,917 0,00 DB api (duży zbiór danych) 338 34,2 2,905 0,219 35,344 0,00 6

Ruch mieszany (wywołania wszystkich wymienionych powyżej) - 61,1 1,944 0,004 56,554 0,00 ** Przy próbach zwiększania ruchu powyżej wartości wskazanych w tabeli obserwowano znaczny wzrost stopy błędów i średnich czasów platformy. 2.3 Testy dla platformy produkcyjnej - Data Server W celu przeprowadzenia testów wydajnościowych platformy produkcyjnej wykorzystano środowisko zainstalowane w UM Warszawa. Ruch pakietów sieciowych w trakcie testu odbywał się na drodze: generator Data Server Function Server źródła danych UM Warszawa. Do symulacji ruchu również wykorzystano oprogramowanie open source Apache JMeter http://jmeter.apache.org/. W trakcie testów wykorzystywano rzeczywiste źródła danych po stronie UM Warszawa (system kolejkowy, dane ZTM, serwery Biura Geodezji i Katastru: WMS i WFS). Generator ruchu (JMeter) www, webservices/ Dostęp z front-end UM Warszawa data server CKAN Platforma MUNDO Postgr esql ws() JDBC function server (java) JBOSS miejskie, DB SQL Repozytoria UM Warszawa WMS/WFS Systemy kolejkowe Bazy danych (ZTM) Rysunek 4. Schemat środowiska produkcyjnego dla testów wydajnościowych (DS+FS) W poniższej tabeli zebrano konfiguracje środowiska produkcyjnego oraz narzędzi testujących Tabela 4 Konfiguracja HW/SW elementów środowiska produkcyjnego CPU 2 vcore, 2,67 GHz HW RAM 4 GB 1. Data Server SW OS CentOS Linux release 6.6 (Final) Apache Httpd Apache/2.2.15 CKAN 2.2 PostgreSQL Wersja 8.4.20 2. Function Server (java) HW CPU 2 vcore, 2,67 GHz 7

SW RAM OS JAVA JBOSS 4 GB CentOS Linux release 6.6 (Final) OpenJDK 1.7.0_71 Wersja 7.1.1.FINAL z zainstalowaną aplikacją mundojava-backed (1.0) HW CPU Intel Core i5, 2,7 GHz RAM 4 GB 3. Generator ruchu SW OS Windows 7 Enterprise JAVA Apache JMeter 1.8.0_31 2.12 r1636949 Na poniższym rysunku przedstawiono schemat przeprowadzenia testów wydajnościowych dla platformy Data Server. Podczas testów średnie użycie procesora dla maszyny obsługującej data server kształtowało się na poziomie 77%. Użycie procesora na maszynie function server nie przekraczało 35%. Tabela 5 Wyniki testów data server Rodzaj Rozmiar [kb] Maksymalny ruch** [ request/s] Średni czas Min czas Max czas Stopa błędów [%] WebService (Queue) kolejki miejskie WMS getmap pobranie mapy WMS WFS getfeature pobranie informacji WFS (małej) WFS getfeature pobranie informacji WFS (dużej) DB api pobranie informacji z bazy danych (średnia) DB api pobranie informacji z bazy danych (średnia) 4,2 69,3 1,723 0,522 31,169 0 66,1 60,7 1,968 0,132 9,538 0 44 66,4 1,799 0,124 3,603 0 768,6 3,5 33,071 2,473 56,060 0 120 42,4 2,813 0,253 5,510 0 120 41,9 2,838 0,411 5,956 0 realizowane przez CKAN - bez udziału function server (java) WMS StoreShow pobranie informacji o zasobie CKAN 2,9 21,1 5,637 0,892 7,045 0 DataStore (mały zbiór danych) 12 49,8 2,372 0,129 39,106 0,29 8

DataStore (duży zbiór danych) 1441 6,1 18,937 3,702 43,922 0 Ruch mieszany (wywołania wszystkich wymienionych powyżej) (z geodezją) Ruch mieszany (wywołania wszystkich wymienionych powyżej) bez map - 12,5 9,416 0,484 50,776 0-20,2 5,817 0,778 20,600 0 ** Przy próbach zwiększania ruchu powyżej wartości wskazanych w tabeli obserwowano znaczny wzrost stopy błędów i średnich czasów platformy. 2.4 Testy platformy produkcyjnej Function Server (Java) Na poniższym rysunku przedstawiono schemat przeprowadzenia testów wydajnościowych dla platformy Function Server. Ruch pakietów sieciowych w trakcie testu odbywał się na drodze: generator Function Server źródła danych UM Warszawa. Generator ruchu (JMeter) www, webservices/ Dostęp z front-end UM Warszawa data server CKAN Platforma MUNDO Postgr esql ws() JDBC function server (java) JBOSS miejskie, DB SQL Repozytoria UM Warszawa WMS/WFS Systemy kolejkowe Bazy danych (ZTM) Rysunek 5. Schemat środowiska produkcyjnego dla testów wydajnościowych (FS) Podczas testów średnie użycie procesora dla maszyny function serwer kształtowało się na poziome 75%. Tabela 6 Wyniki testów function server (JAVA) Rodzaj Rozmiar [kb] Maksymalny ruch** [ request/s] Średni czas Min czas Max czas Stopa błędów [%] WebService (Queue) kolejki miejskie WMS getcapabilities 4,2 246,4 0,485 0,005 43,400 0 143,9 59,3 2,014 0,082 10,674 0 lista warstw WMS WMS getmap pobranie mapy WMS WFS getfeature pobranie informacji WFS (małej) 66,1 208,1 0,569 0,002 29,229 0 40,0 179,8 0,665 0,021 7,440 0 WFS getfeature pobranie 700,0 14,9 7,968 0,095 30,865 0 9

informacji WFS (dużej) DB api (duży zbiór danych) 338 88,5 1,302 0,001 108,501 0,01 DB api (mały zbiór danych) 19,1 1867,8 0,064 0,001 3,063 0 Ruch mieszany (wywołania wszystkich wymienionych powyżej) bez map z BGIK Ruch mieszany (wywołania wszystkich wymienionych powyżej) z mapami - 221,0 0,479 0,002 167,393 0-62,3 1,853 0,007 40,151 0,06 3 Scenariusz testów funkcjonalnych Dla platformy eksponującej Otwarte Data budowanej w ramach projektu MUNDO zdefiniowano szereg testów funkcjonalnych obejmujących zarówno działanie podsystemu Data Server jak i Function Server 3.1 Testy funkcjonalne dla platformy produkcyjnej W poniższej tabeli zebrano listę testów funkcjonalnych dla platformy Poniższa lista stanowi odzwierciedlenie listy przypadków użycia UML zawartej w dokumencie Architektura platformy MUNDO. Wyniki testów funkcjonalnych Tabela 7 Poziom uprawnień Nazwa Testu Opis Rezultat testu Wynik testu pozytywny (Tak/Nie) Element platformy realizujący funkcję Uwagi Developer Przeszukanie katalogu danych Przeszukanie katalogu danych w celu znalezienia określonego data set (interface www wyszukiwanie z użyciem słowa kluczowego tag a) Strona www z znalezionymi zbiorami danych spełniającymi kryteria wyszukiwania Pobranie informacji Data Set o Pobranie i wyświetlanie szczegółowych informacji o danym zbiorze danych (data set / function set) Po wybraniu danego zbioru pojawia się strona www z jego właściwościami Podgląd danych Wyświetlenie danego zbioru w formie: zawartość pliku, tabela, mapka, dla wywołań odpowiedź z serwera Podgląd powinien być wyświetlony na stronie www Wyświetlenie zawartości danego zbioru na stronie www (podgląd) resource_proxy, datastore Uwaga ze względu na wymagania UM Warszawa podgląd danych mapowych dostępny jest w formie podglądu obiektu JSON base64map Podgląd metadanych Pobranie i wyświetlanie metadanych związanych z danym zbiorem danych Metadane związane z danym zbiorem wyświetlane na stronie www 10

Odczyt informacji o Wyświetlenie dokumentacji api Dokumentacja wyświetlana na stronie www i/lub w formie załączników (pdf/doc) : extension (snippets) : wmsstore, wfsstore, wsstore, dbstore Funkcja realizowana przez snippet CKAN (wyświetlenie na stronie www) Dla dokumentacji pdf pdf_preview Przykład użycia (doc) Wyświetlenie dokumentacji z przykładowym użyciem api Przykład użycia wyświetlany na stronie www i/lub w formie załączników (pdf/doc) : extension (snippets) : wmsstore, wfsstore, wsstore, dbstore Funkcja realizowana zarówno przez snippet CKAN jak i załącznik pdf dołączony, jako zasób do zbioru danych Dla dokumentacji pdf pdf_preview Testowe użycie Przycisk na stronie wywołujący dane api z przykładowymi parametrami (opcja) Kliknięcie na link powoduje wywołanie danej funkcji z zadanymi parametrami. Odpowiedz wyświetlana w przeglądarce www (dane w formacie JSON). Function (Java) Server Testowe wywołanie jest możliwe zarówno z poziomu DS. jak i FS (uwaga dla FS wymagane są uprawnienia administratora). Rejestracja Rejestracja użytkownika Rejestracja użytkownika w celu uzyskania Key (1 Key per developer) Użycie Produkcyjne wykorzystywanie Użycie dla każdego zasobu ze zbioru danych (przetestowano dla wszystkich zasobów dostępnych na platformie) Function (Java) Server można wywoływać zarówno z poziomu DS. jak i FS uwaga element, z którym kontaktuje się developer to DS. Uwaga dla map rastrowych wartości parametrów wywołania należy dobrać do każdej mapy rastrowej indywidualnie w przypadku niepoprawnych wartości (np. parametru zoom, center lub size) zwraca pusty obrazek. Usunięcie konta Usunięcie użytkownika platformy konta z Usunięcie użytkownika platformy użytkownika administratora konta z przez lub Usunięcie konta z użytkownika platformy może dokonać jedynie administrator Tabela 8 Wyniki testów funkcjonalnych Poziom uprawnień Nazwa Testu Opis Rezultat testu Wynik testu pozytywny (Tak/Nie) Element platformy realizujący funkcję Uwagi Administrator Przeszukanie katalogu danych Przeszukanie katalogu danych w celu znalezienia określonego data Strona www z znalezionymi zbiorami danych spełniającymi 11

set (interface www wyszukiwanie z użyciem słowa kluczowego tag a) kryteria wyszukiwania Pobranie informacji Data Set o Pobranie i wyświetlanie szczegółowych informacji o danym zbiorze danych (data set / function set) Po wybraniu danego zbioru pojawia się strona www z jego właściwościami Podgląd danych Wyświetlenie danego zbioru w formie: zawartość pliku, tabela, mapka, dla wywołań odpowiedź z serwera Podgląd powinien być wyświetlony na stronie www Wyświetlenie zawartości danego zbioru na stronie www (podgląd) resource_proxy, datastore Uwaga ze względu na wymagania UM Warszawa podgląd danych mapowych dostępny jest w formie podglądu obiektu JSON base64map Podgląd metadanych Pobranie i wyświetlanie metadanych związanych z danym zbiorem danych Metadane związane z danym zbiorem wyświetlane na stronie www Dodanie nowego zbioru danych Dodanie nowego zbioru danych lub zbioru funkcji (poprzez interface www) Nowy zbiór danych umieszczony na platformie w formie zbioru danych i przyporządkowanych do niego zasobów Function (Java) Server DS dla danych plikowych dla pozostałych typów danych konieczna jest konfiguracja zarówno po stronie DS jak i FS Edycja Set Data Edycja zbioru danych poprzez stronę web Zmodyfikowany zbiór danych dostępny na platformie Function (Java) Server DS dla danych plikowych dla pozostałych typów danych konieczna jest konfiguracja zarówno po stronie DS. jak i FS Usunięcie Zbioru danych lub zasobu Usunięcie zbioru danych lub jego części (zasobu) poprzez stronę web Usunięcie zbioru danych lub jego części (zasobu) Function (Java) Server DS dla danych plikowych dla pozostałych typów danych konieczna jest usunięcie zbioru zarówno po stronie DS jak i FS Dodanie metadanych Dodanie metadanych do zbioru danych lub zbioru funkcji Zbiór uzupełniony metadane danych o Edycja metadanych Edycja metadanych zbioru danych lub zbioru funkcji Zbiór danych uzupełniony zawierający zmodyfikowane metadane Dodanie dokumentacji Dodanie dokumentacji w formie opisu na stronie www i/lub załącznika (pdf/doc) Dokumentacja do nowego zbioru danych zamieszczona na stronie www i/lub w formie załączników (pdf/doc) : extension (snippets) : wmsstore, wfsstore, wsstore, dbstore Funkcja realizowana przez snippet CKAN (wyświetlenie na stronie www) Dokumentacja www jest umieszczana automatycznie wraz z zdefiniowaniem typu zbioru danych. 12

Dokumentacja w pliku pdf wymagane jest dodanie ręczne Statystyki użycia Statystyki użycia poszczególnych w formie strony www Wyświetlenie statystyk użycia poszczególnych Tak Function Server (Java) Modyfikacja dokumentacji Modyfikacja dokumentacji w formie opisu na stronie www i załącznika (pdf/doc) Zmodyfikowana dokumentacja do nowego zbioru danych zamieszczona na platformie w formie załączników (pdf/doc) : Dokumentacja może być modyfikowana w formie załącznika Dokumentacja zawarta w rozszerzeniach CKAN (snippet) jest przyporządkowana do typu zbioru i nieedytowalna Zarządzanie użytkownikami Możliwość modyfikacji konta użytkownika: ustawienie i modyfikacja parametrów, konta użytkownika itp. Zmodyfikowane konto użytkownika Function (Java) Server Modyfikacja ustawień konta użytkownika jest możliwa na DS zarówno poprzez www jak i CKAN Modyfikacja i zakładanie kont administratora na FS jest realizowane poprzez www Edycja rozszerzonego opisu platformy Strona www zawierająca opis systemu eksponującego dane i funkcje UM Warszawa w formie Zmodyfikowany opis w zakładce About Strona About w CKAN Konfiguracja parametrów platformy Strona www z możliwością konfiguracji parametrów platformy Modyfikacja parametru powoduje modyfikację działania platformy Przetestowano dla wszystkich dostępnych parametrów np.: wms, wfs, db, http Tak Function Server (Java) 13

4 Podsumowanie Bazując na przeprowadzonych testach funkcjonalnych usunięto zauważone błędy w funkcjonowaniu platformy, natomiast wyniki testów wydajnościowych określają maksymalny ruch, jaki jest w stanie przenieść platforma. 4.1 Analiza wyników testów wydajnościowych platformy przeprowadzonych w środowisku testowym Testy wykonane w środowisku testowym umożliwiły zidentyfikowanie komponentów platformy, które wprowadzają największe ograniczenia w wydajności. Poniżej przedstawiono porównanie wyników uzyskanych przy generowaniu ruchu bezpośrednio do java function serwer oraz za pośrednictwem data server. Tabela 9 Porównanie wybranych wyników Rodzaj Rozmiar odpowie dzi [kb] Maksymalny ruch** [ request/s] Średni czas Min czas Max czas Stopa błędów [%] WebService (Queue) kolejki miejskie (poprzez CKAN) WebService (Queue) kolejki miejskie (bezpośrednio z function server) Różnica 4,2 61,8 1,932 0,043 11,574 0,00 4,2 320,5 0,311 0,004 1,239 0,00-258,7 +1,621 +0,039 +10,335 0,00 Wpływ CKAN na wydajność Ruch mieszany wywołania poprzez CKAN Ruch mieszany wywołania bezpośrednio do function server Różnica - 11,3 10,419 0,047 43,124 0,00-61,1 1,944 0,004 56,554 0,00-49,8 +8,475 +0,043-13,430 0,00 Wpływ CKAN na wydajność Z powyższej tabeli wynika, że czynnikiem ograniczającym wydajność ruchową systemu element Data Server wywołania kierowane do function server wykazują, bowiem 5-6 krotnie większa wydajność tego ostatniego. Powyższy fakt poza kwestią przetwarzania wywołań przez dwukrotnie większą liczbę serwerów może wynikać z faktu, iż na serwerze DS została umieszczona baza danych jak również zainstalowana większa liczba komponentów w porównaniu z Function Server. 14

4.2 Analiza wyników testów wydajnościowych platformy przeprowadzonych w środowisku produkcyjnym Testy wykonane w środowisku produkcyjnym umożliwiły zidentyfikowanie zarówno komponentów platformy, które wprowadzają największe ograniczenia w wydajności całego systemu, jak również zdefiniowanie maksymalnej ilości wywołań do poszczególnych źródeł danych po stronie UM Warszawa. Poniżej przedstawiono porównanie wyników uzyskanych przy generowaniu ruchu bezpośrednio do java function serwer oraz za pośrednictwem data server. Tabela 10 Porównanie wybranych wyników Rodzaj Rozmiar [kb] Maksymalny ruch** [ request/s] Średni czas Min czas Max czas Stopa błędów [%] WebService (Queue) kolejki miejskie 4,2 69,3 1,723 0,522 31,169 0 (poprzez CKAN) WebService (Queue) kolejki miejskie 4,2 246,4 0,485 0,005 43,400 0 (bezpośrednio z function server) Różnica -177,1 1,238 0,517-12,231 0 Wpływ CKAN na wydajność Ruch mieszany wywołania poprzez CKAN Ruch mieszany wywołania bezpośrednio do function server Różnica - 20,2 5,817 0,778 20,600 0-62,3 1,853 0,007 40,151 0,06-42,1 3,964 0,771-19,551-0,06 Wpływ CKAN na wydajność Jak widać różnica w wydajności pomiędzy scenariuszem obejmującym DS i FS a ruchem przechodzącym jedynie przez Function Server jest mniejsza niż dla środowiska testowego. Mniejsze różnice te mogą wynikać z większej ilości RAM i większej wydajności sprzętowej środowiska produkcyjnego w porównaniu z testowym. Maksymalna ilość wywołań do różnych typów danych waha się od 69,3 wywołań na sekundę dla Web Services (systemy kolejkowe), poprzez 41-42 CAPS dla zbiorów bazodanowych (tramwaje), po 3,5 wywołań na sekundę dla dużych map wektorowych pobieranych w całości. Dla zbiorów danych plikowych (zawartych w bazie danych CKAN i eksponowanych poprzez rozszerzenia datastore) uzyskano wartości od 6,1 CAPS dla dużych zbiorów danych do 49,8 wywołań na sekundę dla małych zbiorów danych. Uśredniona wartość wydajności ruchowej dla platformy produkcyjnej (ruch mieszany) do wszystkich typów źródeł danych wynosi 20,2 CAPS. 15

5 Słowniczek lista skrótów Glossary Nb. Abbreviation Explanation 1 Application Programming Interface 2 GPL GNU Public License Licencja wolnego i otwartego oprogramowania 3 LGPL Lesser GNU Public License - słabsza powszechna licencja publiczna GNU, powszechna licencja publiczna dla bibliotek 4 FDL Free Documentation License - Licencja Wolnej Dokumentacji 5 CC Creative Commons 6 CKAN Comprehensive Knowledge Archive Network sieć archiwizacyjna dla kompleksowej wiedzy system www będący repozytorium danych i eksponujący dane otwarte stworzony przez Open Knowledge Foundation 7 WS Web Service usługa sieciowa oparta o SOA/SOAP lub ROA/REST 8 SOA Architektura zorientowana na usługi (ang. Service Oriented Architecture) 9 SOAP SOAP (ang.) Simple Object Access Protocol protokół wywoływania zdalnego dostępu do obiektów oparty o XML 10 ROA Architektura oparta o zasoby (ang. resource-oriented architecture) 11 REST Representational State Transfer wzorzec architektury oprogramowania 12 MD metadane (dane o danych), 13 WMS 14 WFS 15 DS 16 FS 17 Key 18 RDF 19 Dublin Core Web Map Service - stworzony przez Open Geospatial Consortium (OGC) standard udostępniania map w postaci rastrowej za pomocą interfejsu http Web Feature Service stworzony przez Open Geospatial Consortium (OGC) standard udostępniania map w postaci wektorowej za pomocą interfejsu http Data Server element platformy realizujący ekspozycję statycznych zbiorów danych Function Server element platformy realizujący ekspozycję funkcji (np. realizowanych przez web services) Kod alfanumeryczny przekazanego do serwera przez programy komputerowe wywołujące Ang. Resource Description Framework - język/metoda pozwalająca na opisywanie zasobów sieci Web, ze składnią opartą na XML, opracowana przez W3C Dublin Core Metadata Element Set, DC, DCES) ogólny standard metadanych. Przyjęty, jako standard ISO 15836-2003. 20 DCAT W3C Data Catalog Vocabulary - standard schematu katalogowego dla danych 21 CSV Comma separated values plik z wartościami oddzielanymi przecinkami 22 CMS System zarządzania treścią (content management system) 23 SPARQL SPARQL Protocol And RDF Query Language - język zapytań i protokół dla plików RDF. 16

24 OWL Web Ontology Language język ze składnią opartą na XML, a semantyką opartą na logice opisowej 25 Hypertext Transfer Protocol 26 SSL Secure Socket Layer 27 CAPS Call per second ilość wywołań na sekundę 17

6 Bibliografia [1] Wniosek do 1 konkursu Innowacje Społeczne NCBIR projektu MUNDO, Warszawa, 2013 [2] Portal CKAN http://ckan.org/ [30.10.2014] [3] Portal The Open Knowledge Foundation https://okfn.org/ [30.10.2014] [4] Portal Apache JMeter http://jmeter.apache.org/ 18