• No results found

Prestandatester av WMS och WFS: En jämförelse av tre geospatiala servermjukvaror med öppen källkod

N/A
N/A
Protected

Academic year: 2022

Share "Prestandatester av WMS och WFS: En jämförelse av tre geospatiala servermjukvaror med öppen källkod"

Copied!
42
0
0

Loading.... (view fulltext now)

Full text

(1)

Prestandatester av WMS och WFS

En jämförelse av tre geospatiala servermjukvaror med öppen källkod Performance testing of WMS and WFS

A comparison of three open source geospatial server software products

Johan Glimmersten

Fakultet: Fakulteten för hälsa, natur- och teknikvetenskap

Ämne/Utbildningsprogram: Högskogeingenjörsprogrammet i lantmäteriteknik och geografisk IT Nivå/Högskolepoäng: C-uppsats 15hp

Handledare: Kristina Eresund Examinator: Jan-Olov Andersson Datum: 2015-05-31

Löpnummer: 2015:5

(2)

Sammanfattning

Entusiasmen kring gratismjukvaror med öppen källkod tycks ha ökat under 2000-talet då allt mer öppen källkod blivit tillgänglig på nätet. Sådana programvaror är intressanta för aktörer inom både privat och offentlig sektor då kostnader för mjukvarulicenser kan minskas.

Simultant med denna utveckling har datalagring i tjänsteorienterade arkitekturer blivit vanligare. Foran Sverige är ett företag som bland annat erbjuder geografiska

fjärranalysprodukter. Deras system för distribuering av karttjänster bygger idag på mjukvara med proprietär källkod som innebär höga licenskostnader, därför vill de se på möjligheterna att migrera till ett system med kostnadsfria mjukvaror. För att bidra med beslutsunderlag till Foran och andra verksamheter som ser till möjligheterna att migrera har ett antal mjukvaror för distribution av karttjänster valts ut och genomgått prestandatester. Det är också viktigt att det administrativa gränssnittet i mjukvarorna är relativt enkelt att använda. Programvaran JMeter har använts för att belastningstesta tre olika geospatiala servermjukvaror med öppen källkod vid leverans av standarderna Web Map Service (WMS) och Web Feature Service (WFS). Ett antal vanliga dataformat med varierande lagringsvolym valdes ut som testdata.

QGIS server hade nästan genomgående den högsta överföringshastigheten vid test av WMS. I kontrast presterade QGIS sämst vid test av WFS med lägst överföringshastighet och

tillsammans med MapServer levererades stundtals ett högt antal felaktiga responser vid 30 respektive 60 simulerade användare. GeoServer presterade mest kontinuerligt vid de olika datakällorna och hade genomgående den högsta överföringshastigheten vid test av WFS. De administrativa gränssnitten hos GeoServer och QGIS anses båda vara lätta att använda medan MapServer är betydligt svårare då karttjänstens alla parametrar definieras i ett textbaserat gränssnitt.

Nyckelord: Öppen källkod, Karttjänst, WMS, WFS, Prestanda

(3)

Abstract

The enthusiasm for free and open source software has increased since the year 2000 as more open source code has become available online. Such software is interesting for both public and private sector as license expenses can be significantly reduced. Along with this

development, storing data in service oriented architectures has become a more common procedure. Foran Sweden is a company that provides geographical remote sensing products.

Their existing system for supplying customers with map services is based on proprietary software which leads to high license expenses. Consequently, Foran Sweden aim to migrate to a system based on free and open source software. In order to provide Foran Sweden and other comparable, with sufficient material for decision making, this work will compare a number of open source geospatial server software products with emphasis on performance. It is also important that the web services are easy to manage and administrate. Apache JMeter has been used to perform the performance tests on three widely used software products that can handle the standards of Web Map Service (WMS) and Web Feature Service (WFS). A number of common data formats with varying storage size were used to test the software products. QGIS server performed best in 10 out of 12 scenarios for WMS. In contrast QGIS was the slowest while testing WFS, and together with MapServer, they generated a high number of server errors while simulating 30 and 60 users. GeoServer was the quickest and most stable software for WFS and showed good performance in all scenarios with every dataset. The

administrative interfaces of GeoServer and QGIS are both easy to learn and manage while MapServer uses a text-based interface for the management of web services, which requires more effort from the administrator.

Keywords: Open Source, Map Service, WMS, WFS, Performance

(4)

Förord

Detta arbete har gjorts i samarbete med Foran Sverige AB där Pär Lönnerhed och Rikard Hedberg agerat handledare och varit ett bra stöd igenom hela arbetet. Därtill har Foran Sverige bistått med resurser i form av en molnserver och en klientmaskin som varit en vital del i den testmiljö som ligger till grund för resultaten. Detta vill jag tacka dem för. Kristina Eresund har varit handledare från universitetets sida och varit ett bra stöd i skrivprocessen, tack för det.

(5)

Innehållsförteckning

1. Bakgrund ... 12

2. Problemformulering ... 2

2.1 Frågeställningar ... 3

2.2 Avgränsningar ... 3

3. Teori ... 3

3.1 Karttjänster och servermjukvaror ... 3

3.1.1 Web Map Service ... 5

3.1.2 Web Feature Service ... 6

3.2 Öppen källkod ... 7

3.3 Datakällor ... 7

3.4 Servicekvalitet ... 8

3.5 Belastningstester ... 9

3.5.1 Apache JMeter ... 10

4. Tidigare forskning ... 10

5. Testmiljö ... 11

5.1 Servermjukvaror ... 12

7.2 Ingående data ... 13

5.3 Konfiguration ... 14

6. Metodik ... 15

6.1 Administrativa gränssnitt ... 15

6.2 Belastningstester ... 15

6.2.1 WMS-tester ... 15

6.2.2 WFS-tester ... 17

7. Resultat ... 18

7.1 Tester ... 18

7.1.1 WMS ... 18

7.1.2 WFS ... 21

8. Analys ... 24

8.1 WMS ... 24

8.2 WFS ... 24

8.3 Administrativa gränssnitt ... 25

9. Diskussion ... 25

10. Slutsats ... 27

11. Referenser ... 29

(6)

Bilaga 1 ... 31

Bilaga 2 ... 32

Bilaga 3 ... 33

Bilaga 4. ... 35

Bilaga 5 ... 36

Tabellförteckning

Tabell 1. Grundläggande information om de utvalda mjukvarorna. ... 12

Tabell 2. Egenskaper för ingående data. ... 13

Tabell 3. Tekniska egenskaper för de datorer som använts. ... 14

Tabell 4. Antalet anrop från varje trådgrupp vid test av WMS. ... 16

Tabell 5. Parametrar som definieras i anrop för test av WMS. ... 17

Tabell 6. Antalet anrop från varje trådgrupp vid test av WFS. ... 17

Tabell 7. Parametrar som definieras i anrop för test av WFS. ... 18

Tabell 8. Överföringshastigheter i kB/S för de olika mjukvarorna och datamängderna. ... 18

Tabell 9. Överföringshastigheter i kB/S för de olika mjukvarorna och datamängderna. ... 21

Figurförteckning

Figur 1. Exempel på konfiguration vid användning av klient-serverteknik. ... 4

Figur 2. Överblick av konfigurationen. ... 14

Figur 3. Överföringshastigheter vid hämtning PostgreSQL (PostGIS). ... 19

Figur 4. Överöringshastigheter vid hämtning av Shape. ... 20

Figur 5. Överföringshastigheter vid hämtning av GeoTIFF. ... 20

Figur 6. Jämförelse av standardavvikelse för korrelationskoefficienter. ... 21

Figur 7. Överföringshastigheter vid hämtning av Test-ID 1. ... 22

Figur 8. Överföringshastigheter vid hämtning av Test-ID 2. ... 22

Figur 9. Överföringshastigheter vid hämtning av Test-ID 3. ... 23

Figur 10. Överföringshastigheter vid hämtning av Test-ID 4. ... 23

(7)

1

1. Inledning

Kostnadsfria applikationer med öppen källkod, så kallade Free and Open Source Software (FOSS) har under 2000-talet setts öka (Deshpande & Riehle 2008). Migration från

programvara med proprietär källkod till FOSS har framförallt skett inom statliga och

kommunala verksamheter. I en proposition från Sveriges Regering 2004 uppmuntras statliga och kommunala verksamheter att använda sig mer av FOSS (Regeringen 2004), då dessa har ett ansvar gentemot befolkningen för hur skattemedel används (Andersson 2014), utan att kompromissa med funktionalitet. Intresset för öppen källkod finns även inom den privata sektorn där minskade kostnader för licenser är en bidragande orsak. Dock är det mycket viktigt för en leverantör av ett system, vid övergång till FOSS, att användarna kan garanteras likvärdig stabilitet och prestanda som i det tidigare systemet.

Samtidigt med den ökade användningen av FOSS så har utvecklingen inom

informationsteknik gjort att datalagring i så kallade tjänsteorienterade arkitekturer blivit allt vanligare (Friis-Christensen 2006; Sahlin 2008). Detta inkluderar geografisk information som allt mer tillhandahålls i form av karttjänster. Karttjänsterna möjliggör åtkomst till data via webben och gör på så vis informationen mer lättillgänglig.

Web Map Service (WMS) och Web Feature Service (WFS) är två av de vanligaste

standarderna för leverans av geografisk information på webben. De är utvecklade av den icke vinstdrivande organisationen Open Geospatial Consortium (OGC) som består av ett hundratal aktörer inom branschen för geografiska informationssystem (GIS). OGC arbetar för att möjliggöra samverkan och skapa interoperabilitet mellan olika leverantörer och användare av geografisk information (OGC 2015).

Vid användning av ett system baserad på proprietär källkod riskerar användaren att låsa sig till en leverantör. För att ett enhetligt system ska fungera så begränsar ibland leverantörer användares möjlighet att arbeta med andra programvaror än leverantörens (Andersson 2014).

Det finns vissa risker med att migrera från en lösning baserad på proprietär källkod till en byggd på öppen källkod. Dessa risker kan inbegripa att:

- Det oftast saknas garantier för att systemet ska fungera i just den avsedda verksamheten.

(8)

2 - Det ofta saknas supportgaranti.

För att kunna upprätthålla kvaliteten gentemot användare av det nya systemet krävs noggranna undersökningar och tester innan migration.

Foran Sverige är ett företag som erbjuder tjänster inom skogliga och biologiska analyser samt en rad GIS- och fjärranalysprodukter. De kartprodukter som erbjuds publiceras i ett

webbaserat GIS med hjälp av karttjänster. Detta gör att kunderna får åtkomst till informationen och kan dessutom redigera och göra utsökningar i data via det grafiska användargränssnittet. Forans nuvarande lösning för publicering av karttjänster bygger på proprietär programvara i form av ESRI-produkter. Foran vill nu undersöka möjligheterna att migrera till ett system baserat på FOSS. För Foran är det av största vikt att behålla

funktionaliteten som möjliggör för kunderna att redigera och söka i data. Därför kommer detta arbete att fokusera på tjänsterna WMS och WFS. Standarden WMS används endast för

visualisering av kartdata medan WFS tillåter redigering och utsökning av specifika objekt eller delmängder från den publicerade datamängden. Förutom krav på bibehållen

funktionalitet och prestanda vid övergång till FOSS, finns även krav på att en lösning baserad på FOSS ska vara lika stabil som den nuvarande lösningen.

Den programvara som idag används av Foran för publicering av karttjänster är användar- vänlig gentemot den som administrerar tjänsterna, då det finns en bra relation mellan

servermjukvara och skrivbordsprogramvara. Det är viktigt att den nya programvaran också är lätt att lära sig och lätt att använda vid hantering av karttjänster.

2. Problemformulering

Syftet med detta arbete är att bidra med beslutsunderlag till Foran som ser till möjligheterna att migrera från en proprietär lösning för distribuering av karttjänster till en lösning baserad på FOSS. Det svåra vid byte av mjukvarusystem är att rätt mjukvara väljs, att kunna garantera fortsatt stabila tjänster till sina kunder samt att administration av tjänsterna kan ske effektivt.

Tester och jämförelser av ett antal spatiala servermjukvaror under kategorin FOSS kommer genomföras. Varje programvaras prestanda och stabilitet ska undersökas vid distribuering av tjänstetyperna WFS och WMS. Kvantifiering av stabilitet och prestanda kommer ske enligt ramverket för servicekvalitet, från engelskans ”Quality of Service” (QoS). Därtill kommer

(9)

3 tillvägagångssätt för hantering av karttjänster i de olika mjukvarorna jämföras då det är viktigt för administratören att på ett effektivt sätt skapa och uppdatera karttjänster.

2.1 Frågeställningar

Frågeställningarna som ligger till grund för arbetet är följande:

 Vilken av de utvalda mjukvarorna för skapande av karttjänster under kategorin FOSS har bäst prestanda, och kapacitet och vid distribuering av WMS respektive WFS?

 Finns det betydande skillnader i hur administrering av karttjänster går till i de utvalda mjukvarorna?

 Finns det skillnader i prestanda och stabilitet mellan de utvalda datamängderna vid leverans av WMS respektive WFS?

2.2 Avgränsningar

I denna studie kommer endast tre servermjukvaror att testas och jämföras. Dessa är noga utvalda och grundar sig på hur använda och utvecklade de är och ryktet de har i branschen.

Användarvänligheten i mjukvarorna kommer bedömas utifrån ett GIS- och

informationsteknikmässigt perspektiv. Därav kommer det förutsättas att målgruppen besitter grundläggande kunskap inom GIS och informationsteknik.

På grund av begränsade resurser i form av hårdvara och ekonomi, kommer testerna endast att utföras på Windows-baserade operativsystem.

3. Teori

3.1 Karttjänster och servermjukvaror

The Open Geospatial Consortium (OGC) är en internationell organisation som utvecklar standarder för geografiska data på webben. Organisationen består av 507 (OGC 2015) företag, statliga myndigheter och universitet som alla bidrar till utvecklingen av standardiserade webbtjänster (Reed 2011 refererad i Bauer 2012). OGC-standarder främjar interoperabilitet mellan system genom att göra standarderna webbaserade och på så sätt oberoende av plattform och programmeringsspråk (Giuliani et al. 2013). Exempel på tjänster som har standardiserats inom OGC är WMS och WFS. Data från en OGC-webbtjänst hämtas genom ett anrop enligt protokollet HTTP (Hypertext Transfer Protocol), en vanlig webbadress

(10)

4 (Giuliani et al. 2013) och gör därmed data tillgänglig för enheter med uppkoppling till

internet. Dessa enheter kan utgöras av en webbläsare alternativt en skrivbordsprogramvara.

Ett system som tillhandahåller OGC-webbtjänster bygger på klient-serverteknik (Bauer 2012).

Klienten är den som använder tjänsten och servern är den del som tilldelar klienten information. När klienten gör ett HTTP-anrop till servern så hämtar den geografiska servermjukvaran de data som efterfrågats, därefter översätts informationen till det önskade formatet och skickas sedan till klienten (Figur 1).

Figur 1. Exempel på konfiguration vid användning av klient-serverteknik.

Servermjukvaror som används för tillhandahållande av karttjänster har funktioner för hantering av lägesbundna data. De använder sig av konventionella servermjukvaror såsom Jetty, Lighthttpd och Apache med bakomliggande funktionalitet för geografiska data (Agrawal & Gupta 2014). Det finns funktionalitet för att läsa och skriva i både raster- och vektorformat, SQL-frågor till spatiala databaser (Ballatore et al. 2011), rasteroptimering etc.

Vidare så finns det vissa modifikationer som kan göras för att öka prestandan hos en servermjukavara vid flera simultana användare. Common Gateway Interface (CGI) är ett protokoll och en viktig komponent i webbservermjukvaror som möjliggör kommunikation med andra program på samma dator. Med hjälp av CGI kan webbservermjukvaran använda klientens parametrar för att uthämta önskad information ur andra programvaror, exempelvis

(11)

5 databaser (Gundavaram 1996). När en webbserver hämtar information från en databas startas en process i operativsystemet. När informationen har hämtats bryts kopplingen mellan webbservern och databasprogrammet och processerna avslutas. Fast CGI är en utveckling av CGI-protokollet som möjliggör för webbserver och andra program att bevara kopplingen för datautbyte och därmed hålla processerna igång som bakgrundsprocesser. Detta gör att nya kopplingar och processer inte behöver skapas för varje anrop som görs, vilket kan förbättra prestandan, i synnerhet vid flertalet simultana användare (Warmerdam & Butler 2008).

3.1.1 Web Map Service

Web Map Service (WMS) är en internationell OGC-standard som via ett HTTP-gränssnitt genererar och utdelar georefererade bilder som klienten kan använda för visualisering (OGC 2006). HTTP-anropet kan ta en rad parametrar där klienten bland annat kan definiera vilken geografisk utsträckning som ska hämtas och vilken upplösning och format som de returnerade bilderna ska ha. Nedan följer ett HTTP-anrop som hämtar ett raster som innehåller skogens höjd (“skogshojd”) i formatet PNG med en definierad upplösning för ett specifikt geografiskt område. Utöver PNG kan även andra bildformat såsom JPEG, GIF och TIFF efterfrågas.

Anrop för att hämta en bild över ett definierat geografiskt område:

http://<serveradress>/GeoServer/test_postgis/wms?

service=WMS

&version=1.1.0

&request=GetMap

&layers=test_postgis:skogshojd

&bbox=563000.0,6610500.0,563500.0,6611000.0

&width=2000

&height=2000

&srs=EPSG:32632

&format=image/png

Metadata för tjänsten kan hämtas genom att använda parametern GetCapabilities istället för GetMap. Metadata innehåller information om vilka lager som finns i tjänsten samt dess egenskaper.

Anrop för att hämta metadata:

http://<serveradress>/GeoServer/test_postgis/wms?

service=WMS

&version=1.1.0

&request=GetCapabilities

(12)

6 WMS är den standard som används mest frekvent i kartapplikationer och är enligt Bauer (2012), väl utvecklad och beprövad. Det finns inte möjlighet att ställa avancerade frågor eller editera WMS-tjänster från klientsidan men det är en ypperlig tjänst för att visualisera

geografiska datamängder.

3.1.2 Web Feature Service

Web Feature Service (WFS) är en internationell OGC-standard som på samma sätt som WMS-tjänster anropas genom ett HTTP-gränssnitt. Skillnaden är att servermjukvaran här utdelar kod som beskriver de spatiala data som efterfrågats med koordinater för varje

brytpunkt. Det vanligaste formatet är Geography Markup Language (GML) (OGC 2002) som även det är en OGC-standard för att beskriva lägesbundna data, baserad på Extensible Markup Language (XML). Version 1.0.0 av WFS använder GML version 2 och de senare, 1.1.0 och 2.0.0 använder GML version 3. Skillnaden mellan GML-versionerna ligger främst i en utökad uppsättning parametrar och diverse funktioner såsom topologiska relationer. Vidare kan format såsom JSON, Shape och CSV kan också utdelas av vissa servermjukvaror såsom GeoServer (GeoServer 2015).

WFS-tjänster tillåter klienten att formulera frågor och hämta ut specifika objekt. Detta görs med ett filter och formuleras i HTTP-anropet. Dessutom finns det möjlighet att använda Web Feature Service Transaction (WFS-T) som möjliggör för klienten att redigera, addera och radera objekt och därefter spara ändringarna (OGC 2002).

Det finns vissa problem med publicering av stora WFS-tjänster då stora mängder data måste utbytas mellan klient och server. Det finns några olika lösningar på problemet. "Chunked transfer encoding" är en teknik som gör att data hämtas i mindre bitar (Swaminathan & Wei 2011). Istället för att klienten gör ett anrop som hämtar 20 000 objekt så kan tjugo anrop göras där 1000 objekt hämtas åt gången. En annan lösning är att WFS-data börjar hämtas vid en viss skala. Dessa tekniker kan kombineras med varandra och med generalisering av geometrier i form av aggregering av objekt vid mindre skalor.

Nedan följer ett exempel på ett WFS-anrop med ett filter som möjliggör för användare att endast hämta ut specifika objekt eller delmängder av de data som finns en datamängd.

Servermjukvaran svarar med det givna formatet GML version 3, därefter kan klientens

(13)

7 programvara rendera de vektordata som erhållits.

Exempel på ett WFS-anrop med filter:

http://<serveradress>/GeoServer/wfs?

SERVICE=WFS

&VERSION=1.1.0

&TYPENAME=test_postgis:bestand_f_subset

&REQUEST=GetFeature

&outputformat=GML3

&FILTER=<Filter><PropertyIsEqualTo><PropertyName>best_delnr</Propert yName><Literal>2</Literal></PropertyIsEqualTo></Filter>

3.2 Öppen källkod

Richard Stallman införde 1984 en ny programvarulicens kallad GNU General Public License (GNU GPL) (Henley & Kemp 2008). Denna licens skapades då han med många andra ansåg att proprietär källkod begränsade användningen och utvecklingen av mjukvaror. De

programvaror som licensieras under GPL ska vara fritt tillgängliga, det vill säga källkod ska finnas tillgänglig och mjukvara ska kunna kopieras, modifieras och spridas fritt (GNU 2007).

1988 upprättades Open Source Iniative (OSI) där definitionen av öppen källkod som används idag formades. Definitionen finns i sin helhet på http://www.opencource.org och innefattar bland annat:

 Fri spridning: Mjukvaran ska kunna kopieras och spridas utan extra kostnad.

 Källkod: Källkod för mjukvaran ska finnas fritt tillgänglig.

 Modifikationer: Modifikationer av mjukvara ska vara tillåtet. Dessutom ska modifikationerna kunna använda samma licens som originalkoden.

 Respekt för utvecklarens kod: Originalkod från den mjukvara som modifierats ska finnas tillgänglig för att skilja inofficiella versioner från den mjukvara som

modifieringen härstammar från.

 Diskriminering: Licensen får inte diskriminera vare sig personer, grupper eller verksamhetsområden.

3.3 Datakällor

Vid distribution av karttjänster med hjälp av WMS och WFS, används servermjukvaran som ett filter där datakällans information översätts till något som klienten kan läsa. Generellt sett

(14)

8 finns det två sätt att lagra data, i en databas eller på fil. Det vanligaste sättet att lagra stora mängder geografisk information är i databaser. En databas är en samling digitala data som modellerar verkligheten där all information lagras i tabeller (Padron-McCarthy 2005).

Fördelen med databaser är att klienter enkelt kan hämta data genom att formulera frågor.

Frågorna formuleras i programspråket Structured Query Language (SQL) som är ett

standardiserat frågespråk utvecklat för att hantera data i en relationsdatabas. Andra fördelar med att lagra data i en databas är att flera användare kan redigera och hämta data samtidigt.

Detta skiljer sig från att lagra data i filer. Filer kan finnas i olika format, det vill säga att data i filen lagras på olika sätt beroende ändamålet och vilka programvaror som ska läsa filen. Detta ger både för- och nackdelar då formatet kan modifieras till önskat användningsområde men också skapa problem med interoperabilitet. Dessutom är det svårare att gardera sig mot redundans och strukturella fel om flera filer ska lagras då det inte finns möjlighet att relatera filerna till varandra på ett bra sätt. Information från filer kan oftast inte editeras av flera användare samtidigt då programvaror låser filerna när de används.

3.4 Servicekvalitet

Ett av webbtjänstleverantörers mål är att ge användarna en så bra upplevelse som möjligt av tjänsten. Tjänsten ska inte bara vara grafiskt tillfredställande utan dessutom stabil och snabb.

Leverantören kan försäkra sig om detta genom att utföra belastningstester på webbtjänsten innan lansering eller innan en uppdatering. Det finns vissa svårigheter med att bedöma användarens upplevelse av en tjänst då upplevelsen dels beror på serverns prestanda men självklart också användarens egen program- och hårdvara samt uppkoppling. Vid belastnings- tester förväntas begränsningar upptäckas i webbtjänsten, eventuella flaskhalsar och andra problem. En tjänst kan inte vara snabbare än sin långsammaste komponent, därför är det viktigt för webbtjänstleverantörer att upptäcka begränsningar i tjänsten så att rätt delar av systemet uppgraderas om tjänsten skulle komma att belastas hårdare.

Quality of Service (QoS) är ett ramverk med mätbara variabler som utgör en webbtjänsts kvalitet (Simonis & Sliwinski 2005). Detta ramverk förenklar bedömningen av en tjänsts prestanda då kvantitativa attribut är lätta att jämföra och förstå (Giuliani et al. 2013). EU- direktivet INSPIRE använder detta ramverk för att beskriva de krav som tjänster under direktivet måste förhålla sig till (EU 2009). Prestanda är ett av attributen i ramverket.

Prestanda beskriver hur lång tid det tar för användaren att erhålla ett svar på sitt anrop (Giuliani et al. 2013). Attributet kan även mätas genom att mäta hämtad datavolym under en

(15)

9 viss tid och därmed erhålla ett värde av formen datavolym per tidsenhet. En tjänsts kapacitet beskriver hur många användare som simultant kan anropa servern utan att tjänstens prestanda försämras (EU 2009). Detta görs genom att mäta tjänstens prestanda och förekomst av

felaktiga responser vid ett ökande antal simulerade användare. Vid det användarantal där de båda variablerna försämras eller inte förändras finns tjänstens maximala kapacitet. Förekomst av felaktiga responser anger hur stor andel av en mängd anrop som ger felmeddelande från tjänsten (Horak et al. 2009).

3.5 Belastningstester

Ett bra belastningstest måste återspegla verkligheten. Det är därför viktigt att den programvara som används för testning, testprogramvaran, beter sig så likt en vanlig användare som möjligt.

Testprogramvaran anropar servern med ett HTTP (Hypertext Transfer Protocol)-anrop precis på samma sätt som en användare. Programvaran tar emot den efterfrågade informationen och registrerar de mätbara attributen. Dock är det viktigt att observera att testprogramvaror i regel inte behandlar den information som mottas från servern som en vanlig användare hade gjort.

Vid testning av karttjänster används i regel principen “Black Box Testing” där den som utför testerna ser servermjukvaran som en svart och sluten låda utan insyn. Detta betyder att mjukvaran inte betraktas såsom utvecklaren ser den, utan som en användare hade betraktat den. Därmed återspeglar testerna verkligheten på ett bra sätt och dessutom är det lättare att upptäcka buggar och begränsningar. “White Box Testning” är det motsatta där den som utför testerna känner till eller har full insyn i källkoden till den programvara som ska testas och kan på så vis testa programvaran utifrån detta (Horak et al. 2009).

Under de årliga eventen FOSS4G (Free and Open Source for Geospatial), arrangerat av organisationen OSGeo har det utförts prestandatester på olika servermjukvaror som kan hantera WMS (FOSS4G 2013). En genomtänkt metodik har använts men dessvärre är svagheten med dessa tester är att det inte finns någon utförlig sammanställd dokumentation kring dem, således är det vanskligt att använda resultaten i ett akademiskt arbete. Med det sagt så framgick det av de senaste testen 2011 att GeoServer presterade bäst vid hantering av WMS (FOSS4G 2011). I många av testerna som utförts så uppmärksammas specifika begränsningar i mjukvarorna och på så sätt får utvecklarna en bra indikation på vad som behöver förbättras.

(16)

10 3.5.1 Apache JMeter

Apache JMeter är en gratismjukvara med öppen källkod som utför prestandatester mot både statiska och dynamiska källor, det vill säga FTP servrar, databaser, applikationer skrivna i PHP, Java, ASP.NET etc. (Apache JMeter 2015). Ett grafiskt användargränssnitt finns tillgängligt och gör det enkelt att skapa så kallade testplaner. En testplan innehåller en eller flera trådgrupper som utför HTTP-anrop. En trådgrupp utgörs av ett definierat antal

simulerade användare, så kallade trådar som alla anropar servern samtidigt. På så sätt kan prestandan mätas vid olika belastningsnivåer och vidare kan begränsande komponenter i systemet urskiljas. Trådgrupperna körs sekventiellt och möjliggör för körning av flertalet tester i samma testplan. Det är viktigt att känna till att JMeter inte är en webbläsare, således hanterar programmet inte responsen från servern utan tar endast emot den kod som annars klientens programvara hade behandlat. Detta gör att endast tjänstens prestanda mäts och programmet bortser följaktligen från klientens kapacitet att bearbeta den erhållna informationen.

4. Tidigare forskning

En del forskning har gjorts kring WMS, dess prestanda och kvalitet främst enligt INSPIRE- direktivet. Horak et al. (2009) utförde tester på geoportaler skapade under INSPIRE

direktivet, men utan att testa någon specifik mjukvaras prestanda.

Giuliani et al. (2013) genomförde en studie där prestanda för WFS och Web Coverage Service (WCS) testades. För att utföra testerna användes Apache JMeter med testplaner från WMS- testerna som utförts vid FOSS4G-eventen. Testplanerna modifierades för att kunna användas i WFS-testerna. Prestatandan hos ArcGIS Server och GeoServer jämfördes och resultaten visade att GeoServer kan leverera data upp till tre gånger snabbare vid leverans av WFS.

Även formatet på datakällor testades, där resultaten pekade på att ESRI file geodatabase vara det snabbaste formatet, tätt följt av både Shape och PostgreSQL. Bauer (2012) och Giuliani et al. (2013) är båda överens om att det inte bara är storleken på datamängden som avgör

prestanda, utan också antalet objekt. Dessutom fungerar både GeoServer och ArcGIS server bra redan “out of the box”, alltså utan att göra några specifika mjukvaruinställningar efter installation.

(17)

11 Bauer (2012) studerade WFS-tjänsters robusthet genom prestandatester hos ett antal

servermjukvaror och skrivbordsprogramvaror. Genomförandet av studien gick ut på att mäta tider för att erhålla hela datamängder där anropen gjordes med ett Python-skript. Det visade sig att GeoServer är snabbast tätt följd av MapServer som båda visar sig betydligt snabbare än ArcGIS server vid leverans av WFS. Vidare visade testerna också att mängden metadata inte spelar någon roll, däremot har mängden attribut en betydande påverkan på responstiderna.

Bauers tester ska tas med viss reservation för fel då servermjukvarorna var installerade på olika datorer med olika hårdvarukonfigurationer.

Friis-Christensen et al. (2006) studerade möjligheterna till användning av en serviceinriktad arkitektur som ska underlätta utvecklandet av applikationer och dessutom göra data mer tillgängligt. Slutsatserna av studien visade att WFS inte var särskilt lämpligt för många tillämpningar då stora datamängder måste utbytas mellan klient och server, dock önskar de vidare forskning inom området.

Ballatore et al. (2011) utförde en kvantitativ studie där användare och utvecklare av geospatiala programvaror för webbpublicering fick svara på en enkät där huvuddelen av frågorna hade med användarvänlighet att göra. Variabler för användarvänlighet såsom dokumentation, inlärningskurva och support från community utforskades. Vidare fick respondenterna frågor kring upplevd stabilitet, standarder och prestanda. Resultaten av enkätundersökningen pekade på klar fördel för PostgreSQL med tillägget PostGIS gentemot MySQL. Totalt sett så ansågs enligt testerna MapServer tätt följd av GeoServer som den generellt bästa lösningen för publicering av karttjänster, främst på grund av dess upplevda prestanda.

5. Testmiljö

För att besvara de frågor som ställts i frågeställningen så kommer tre kostnadsfria geografiska servermjukvaror med öppen källkod genomgå belastningstester vid distribution av WMS och WFS. Varje servermjukvara kommer att testas med flera olika datamängder för att undersöka prestandaskillnader vid användning av olika dataformat, storlekar på datamängder etc.

(18)

12 5.1 Servermjukvaror

De spatiala servermjukvaror som valts ut i denna studie är några av de mest använda med öppen källkod. Urvalet grundar sig främst på ryktet de olika mjukvarorna har i branschen.

Tabell 1 innehåller grundläggande information om de servermjukvaror som ska undersökas.

Tabell 1. Grundläggande information om de utvalda mjukvarorna.

Kategori GeoServer MapServer QGIS Server

Webbsida http://GeoServer.org http://MapServer.org http://qgis.org/en/site Plattformar Linux, Windows, Mac

OS X

Linux, Windows, Mac OS X

Linux, Windows, Mac OS X

Licens GNU GPL Egen GNU GPL

Gränssnitt Grafiskt Text Grafiskt (QGIS desktop)

Antal utvecklare 107 56 50*

Senast stabila version 2.7.0 (2015/03/21) 6.4.1 (2014-01-02) 2.8.1 (n/a)*

Webbserver Jetty Apache m.fl. Apache, Lighttpd m.fl.

Implementeringsspråk Java C / C++ C++

WMS version** 1.3.0 1.3.0 1.3.0

WFS version** 2.0.0 2.0.0 1.0.0

* Avser Quantum GIS project som QGIS server är en del av. ** Avser senast stödda versionen.

GeoServer är ett Java-program och är därför beroende av att java finns installerat i det system som ska användas. Utvecklarna rekommenderar Java 7 som också används i denna studie.

Konfigurationen som använts i detta arbete baseras på en 64-bitars version av java som enligt Pumphrey (2008) försämrar prestandan hos GeoServer, dock bara med ett fåtal procent.

Vidare finns det vissa modifikationer som kan göras med de olika programvarorna för att öka dess prestanda. Både QGIS server och MapServer kan användas med FastCGI. QGIS

använder protokollet redan från början medan vissa modifikationer behöver göras för att få det att fungera i MapServer, vilka har gjorts i detta arbete. Detta gör att mjukvarornas prestanda förbättras vilket bekräftats av Giuliani et al. (2013).

Samtliga mjukvaror finns tillgängliga som 32-bitarsversioner, dock är det bara QGIS som har en 64-bitarsversion som kommer användas i denna studie.

(19)

13 7.2 Ingående data

Valet av indata vid belastningstester av karttjänster är av stor betydelse. Olika typer av datakällor testas så att en god uppfattning kan fås om den övergripande prestandan av en servermjukvaras kapacitet att bearbeta information från olika källor. Vektordata som använts i studien beskriver bestånd av skog i södra Norge och rasterdata beskriver skogshöjd också detta i södra Norge. Ett antal vanliga dataformat har valts ut där varje datamängd används för att testa en parameter, se Tabell 2. All ingående data är projicerad i WGS 84 med det

geodetiska datumet UTM Zone 32N. Likt Giuliani et al. (2013) så har ett basfall använts som testparametrarna utgår ifrån, se Tabell 2. Vektorformatet testas uteslutande med objekttyp polygon då datavolymen och komplexiteten hos ett GML-dokument endast beror på hur många brytpunkter, objekt och attribut en datamängd innehåller. Varje brytpunkt i en polygon, linje eller punkt blir en koordinat i det svar servern ger vid ett WFS-anrop, därför behöver objekttypen i sig inte vara av betydelse för hur snabbt servermjukvaran kan leverera data.

Tabell 2. Egenskaper för ingående data.

Namn Test - ID

Objekt- typ

Data- format

Antal Objekt

Antal brytpunkter

Datavolym (mb)

Antal attribut

Testad parameter Bestånd 1 Polygon PostgreSQL

(PostGIS)

30405 4494940 55 14 -

Bestånd med data

2 Polygon PostgreSQL (PostGIS)

30300 4499260 64 75 Fler

attribut Bestånd

(Delmängd)

3 Polygon PostgreSQL (PostGIS)

4933 867810 10 14 Färre

objekt Bestånd

som Shape (Delmängd)

4 Polygon Shape 4933 867810 15 14 Shape-

format

Skogshöjd 5 Raster GeoTIFF - - 1562 4* GeoTIFF-

format

* Avser bildens bitdjup med kanalerna Röd, Grön, Blå och Alpha.

Tabellerna som finns i databassystemet kan indexeras och på så vis prestera bättre när information ska hämtas. Dock uppkommer problem med indexerade tabeller när tabellerna ska editeras och processen kan försinkas (Padron-McCarthy 2005). Index har inte skapats för tabellerna i denna studie då WFS och WFS-T ofta används simultant.

(20)

14 5.3 Konfiguration

I Tabell 3 beskrivs egenskaperna för den konfiguration som ligger till grund för testerna.

Endast två datorer används där den ena maskinen innehåller data och servermjukvaror, den andra är klienten där testprogramvaran körs. Det är viktigt att ha uppsikt över hur mycket de olika hårdvarukomponenterna arbetar vid olika belastningar då det finns en möjlighet att detektera den komponent som begränsar tjänstens prestanda.

Apache JMeter används för att utföra prestandatester mot servern i de olika testscenariona.

Figur 2 visar konfigurationen i sin helhet.

Tabell 3. Tekniska egenskaper för de datorer som använts.

Maskin Uppkoppling CPU Primärminne Sekundärminne OS Servermjukvara

och datakällor

1 Gbit 4x Intel Xeon E5- 2670 v2 2.6 GHz (Ivy Bridge)

15 GB 2 x 40 GB Solid State Drive

Windows Server 2012 R2 Standard (64 bit) Klient 100 Mbit Intel(R)

Core(TM) i5- 4250U CPU @ 1.30GHz 1.90GHz

16 GB 120 GB Solid State Drive

Windows Ultimate 7 N SP1 (64 bit)

Figur 2. Överblick av konfigurationen.

(21)

15

6. Metodik

6.1 Administrativa gränssnitt

Installation av programvaror och uppsättning av de karttjänster som använts i studien har gjorts av författaren själv. Detta gör att en uppfattning erhålls om hur användarvändliga och anpassningsbara de olika mjukvarorna är, dels vid skapande och ajourhållning av karttjänster men också vid installationen av dem.

6.2 Belastningstester

För att garantera korrekt statistisk data så har alla tester utförts minst två gånger. Apache JMeter har använts för att utföra testerna och genom det grafiska gränssnittet har testplaner byggts upp. Testerna för WMS delas upp i nio olika testplaner där varje servermjukvara testas med varje datamängd. WFS-testerna delas in i tre testplaner, en för varje servermjukvara.

Varje servermjukavara och datakälla testas sekventiellt med 1, 10, 30 samt 60 simultana användare.

Prestanda och förekomst av felaktiga responser kommer att mätas. Prestandan kommer att mätas i nedladdad datavolym per tidsenhet som kilobyte per sekund. Detta gör att eventuella storleksskillnader i GML-dokumenten från de olika servermjukvarorna kan förbises då dessa ska vara av samma storlek men inte alltid är det. Detta beror på att servermjukvarorna kan utlämna information av olika detaljeringsgrad. Exempelvis vilken precision som ska användas för koordinater eller hur mycket metadata som används. Detta går att ställa in genom att konfigurera mjukvarans inställningar, men för att eliminera denna risk så används enheten kilobyte per sekund. Förekomst av fel kommer att mätas som andel felaktiga responser per trådgrupp.

6.2.1 WMS-tester

Testplanen som använts för WMS-testerna är samma som FOSS4G använt i sina WMS-tester men med vissa modifikationer för att planen ska kunna användas med studiens ingående data.

Testplanerna från FOSS4G finns fritt tillgängliga för nedladdning på deras hemsida. I denna studie har WMS version 1.3.0 testats då det är den senaste versionen, dessutom stöder samtliga av de utvalda mjukvarorna versionen.

(22)

16 Test-ID 3,4 och 5 (Se Tabell 2) används vid testerna för att undersöka mjukvarornas

skillnader i överföringshastighet och stabilitet för de olika formaten.

Varje simulerad användare gör 50 anrop. Antalet anrop för varje trådgrupp kan ses i Tabell 4.

De parametrar som definieras i anropen redovisas i Tabell 5. Samtliga data hämtas med samma projektion som originaldata vilket medför att servern inte behöver beräkna parametrar för omprojicering. PNG (Portable Network Graphics) är ett bildformat som tillåter transparens och har därför använts vid testerna. Transparens är oftast nödvändigt om data från flera olika källor ska användas, dessutom ger PNG-formatet bilder av god kvalitet med överkomlig datastorlek. Gällande parametrar för utsträckning och bildstorlek så har 72 värden av

respektive parameter slumpmässigt genererats och använts sekventiellt i de olika anropen. De slumpade värdena är samma vid alla tester. Bildernas höjd och bredd slumpas mellan 64 och 512 pixlar. För att generera slumpmässiga koordinater för bildens utsträckning på marken så väljs ett område för varje lager ut, där hela utsträckningen alltid kommer innehålla data. För Test-ID 5 används rastrets utsträckning på 5x5 km då rastret är rektangulärt. För vektordata väljs ett område på ca 15x10 km eftersom utsträckningen för objekten i datamängden inte är rektangulär. Den maximala utsträckningen för rastret Test-ID 5 kan därför bli 5x5 km och 15x10 km för vektordata. Den minimala utsträckningen för de båda datamängderna är 0,1x0,1 km.

Tabell 4. Antalet anrop från varje trådgrupp vid test av WMS.

Antal trådar (Trådgrupper) Antal anrop

1 50

10 500

30 1500

60 3000

Totalt 5050

(23)

17

Tabell 5. Parametrar som definieras i anrop för test av WMS.

Parameter Beskrivning Värde

Service Vilken typ av tjänst som ska hämtas. WMS Request Vilken typ av data som ska hämtas. GetMap Version Vilken version av tjänsten som ska hämtas. 1.3.0

SRS Vilken projektion som ska användas. EPSG:32632 Format Vilket format som ska hämtas. Image/png

Layers Vilken eller vilka datamängder som ska användas.

Varierar

Transparent Anger om bilden ska få vara transparent eller inte.

True

Bbox Områdets verkliga utsträckning. Varierar

Height Bildens höjd i pixlar. Varierar mellan 64 till 512 Width Bildens bredd i pixlar. Varierar mellan 64 till 512

6.2.2 WFS-tester

De testplaner som använts vid testerna av WFS har skapats från grunden. Antalet anrop som görs av varje simulerad användare är 10, vidare information redovisas i Tabell 6. WFS- version 1.0.0 har använts då QGIS server inte stöder de senare versionerna. Skillnaderna mellan versionerna ligger främst i det att 1.0.0 använder GML version 2 och de senare använder GML version 3. Skillnaderna i versioner behöver nödvändigtvis inte betyda att prestandan förändras.

De parametrar som definierats i anropen redovisas i Tabell 7. De data som använts för att testa WFS är Test-ID 1, 2, 3 och 4. Parametern MaxFeatures sätts till 1000 för Test-ID 1 och 2 och 500 för Test-ID 3 och 4. Detta gör att teknikerna för hämtning av WFS som nämnts i avsnitt 6.1.2 efterliknas.

Tabell 6. Antalet anrop från varje trådgrupp vid test av WFS.

Antal trådar Antal anrop

1 10

10 100

30 300

60 600

Totalt 1010

(24)

18

Tabell 7. Parametrar som definieras i anrop för test av WFS.

Parameter Beskrivning Värde

Service Vilken typ av tjänst som ska hämtas. WFS

Request Vilken typ av data som ska hämtas. GetFeature Version Vilken version av tjänsten som ska hämtas 1.0.0 SrsName Vilken projektion som ska användas EPSG:32632 Typename Vilken datamängd som ska hämtas Varierar

MaxFeatures Maximalt antal objekt som efterfrågas. Varierar mellan 1000 och 500

7. Resultat

7.1 Tester

Studien syftar till att jämföra prestandan hos olika servermjukvaror, därför kommer testresultaten huvudsakligen presenteras i jämförande form uppdelade i de olika

datamängderna. Enheten som ligger till grund för jämförelserna är kilobyte per sekund där 1 kB/s är lika med 0.8 kbit/s vilket medför, som nämnts i avsnitt 5.4, att vissa felfaktorer utesluts.

7.1.1 WMS

Tabell 8 visar testresultat i form av överföringshastigheter för respektive servermjukvara och datamängd. Figur 3, 4 och 5 visar testresultaten i jämförande diagram för mjukvarorna vid olika scenarion.

Tabell 8. Överföringshastigheter i kB/S för de olika mjukvarorna och datamängderna.

Antal trådar

PostgreSQL (Test-ID 3) Shape (Test-ID 4) GeoTIFF (Test-ID 5)

QGIS GS MS QGIS GS MS QGIS GS MS

1 218 113 183 233 116 187 232 323 164

10 1799 1094 1321 2231 1083 1329 1604 2441 717

30 2862 1593 2489 3759 1121 1844 2764 2312 764

60 2798 1523 2383 3796 1426 2412 2784 2032 745

Figur 6 innehåller standardavvikelser mellan korrelationskoefficienterna för de olika

datamängderna. Korrelationskoefficienten anger styrkan av ett samband mellan två variabler

(25)

19 som representeras av en punktmängd. Om korrelationskoefficienterna är likvärdiga vid

hämtning av olika datamängder så är troligen också formen på linjerna likvärdiga, följaktligen är detta ett mått på mjukvarornas kontinuitet vid leverans av olika data.

Den maximala kapaciteten för mjukvarorna kan urskiljas i Figur 3, 4 och 5 där linjerna planar ut. Detta indikerar att den långsammaste delen i konfigurationen nått maximal belastning.

För att utöka dessa resultat har även QGIS 32-bitars version testats då det är den version som kan laddas ned utan att behöva ladda ned en extern webbservermjukvara. En jämförelse mellan QGIS 32- och 64-bitarsversion finns i Bilaga 2.

Efter att ett misstag uppmärksammats i testerna där olika värden på parametern

transparent använts gjordes ytterligare tester för att undersöka om resultatet påverkas.

Dessa redovisas i Bilaga 5.

Figur 3. Överföringshastigheter vid hämtning PostgreSQL (PostGIS).

0 500 1000 1500 2000 2500 3000 3500

1 10 30 60

kB/S

Antal trådar

Överföringshastighet - PostgreSQL (Test-ID 3)

QGIS Geoserver Mapserver

(26)

20

Figur 4. Överöringshastigheter vid hämtning av Shape.

Figur 5. Överföringshastigheter vid hämtning av GeoTIFF.

0 500 1000 1500 2000 2500 3000 3500 4000

1 10 30 60

kB/S

Antal trådar

Överföringshastighet - Shapefil (Test-ID 4)

QGIS Geoserver Mapserver

0 500 1000 1500 2000 2500 3000

1 10 30 60

kB/S

Antal trådar

Överföringshastighet - GeoTIFF (Test-ID 5)

QGIS Geoserver Mapserver

(27)

21

Figur 6. Jämförelse av standardavvikelse för korrelationskoefficienter.

7.1.2 WFS

Tabell 9 visar överföringshastigheterna för de olika mjukvarorna vid leverans av WFS från olika datakällor. Figur 7, 8 och 9 visar jämförande diagram innehållande överförings- hastigheter samt andelen felaktiga responser för respektive server och respektive datakälla.

Det är viktigt att nämna att testerna har gjorts lokalt på serverdatorn. Detta då klientdatorns uppkopplingshastighet på 100 Mbit/s blev en oönskad flaskhals redan vid 10 simulerade användare. Bilaga 3 åskådliggör begränsningen där både GeoServer och MapServers maximala kapacitet är ca 12 000 kB/S vilket är ca 100 Mbit/s. Detta gör att JMeter belastar samma processor som servermjukvaran, vilket kan innebära försämrade testresultat. Datorns processer och processernas belastning hölls under uppsyn vid testerna och visade att JMeter använder ca 5 % av processorn och skiljer sig inte beroende på vilken mjukvara som testas.

Tabell 9. Överföringshastigheter i kB/S för de olika mjukvarorna och datamängderna.

Antal trådar

Test-ID 1 Test-ID 2 Test-ID 3 Test-ID 4

QGIS GS MS QGIS GS MS QGIS GS MS QGIS GS MS

1 2289 14562 13817 2823 20339 16317 2079 15737 13846 2203 19272 16364 10 4988 31693 29189 6094 39671 16279 4341 33480 27639 4696 42570 15144 30 5110 33474 29709 6153 40998 32022 4655 33425 19848 5075 43736 32967 60 5108 33436 29656 6160 40899 32725 4621 33598 28295 5004 43338 27212

0 0.02 0.04 0.06 0.08 0.1 0.12 0.14

QGIS GS MS

Standardavvikelse för korrelationskoefficienter

(28)

22

Figur 7. Överföringshastigheter vid hämtning av Test-ID 1.

Figur 8. Överföringshastigheter vid hämtning av Test-ID 2.

0 2 4 6 8 10 12 14 16 18 20

0 5000 10000 15000 20000 25000 30000 35000 40000

1 10 30 60

Andel fel (%)

kB/S

Antal trådar

Överföringshastighet och andel felaktiga responser - Test-ID 1

QGIS Fel GS Fel MS Fel QGIS GS MS

0 2 4 6 8 10 12 14 16 18 20

0 5000 10000 15000 20000 25000 30000 35000 40000 45000

1 10 30 60

Andel fel (%)

kB/S

Antal trådar

Överföringshastighet och andel felaktiga responser - Test-ID 2

QGIS Felandel GS Felandel MS Felandel QGIS GS MS

(29)

23

Figur 9. Överföringshastigheter vid hämtning av Test-ID 3.

Figur 10. Överföringshastigheter vid hämtning av Test-ID 4.

0.0 2.0 4.0 6.0 8.0 10.0 12.0

0 5000 10000 15000 20000 25000 30000 35000 40000

1 10 30 60

Andel fel (%)

kB/S

Antal trådar

Överföringshastighet och andel felaktiga responser - Test-ID 3

GIS Felandel GS Felandel MS Felandel QGIS GS MS

0.0 1.0 2.0 3.0 4.0 5.0 6.0 7.0

0 5000 10000 15000 20000 25000 30000 35000 40000 45000 50000

1 10 30 60

Andel fel (%)

kB/S

Antal trådar

Överföringshastighet och andel felaktiga responser - Test-ID 4

GIS Felandel GS Felandel MS Felandel QGIS GS MS

(30)

24

8. Analys

8.1 WMS

Inga felaktiga responser har observerats i testerna vilket tyder på att alla mjukvaror är väl utvecklade för distribuering av karttjänster enligt WMS-standarden. QGIS är tillsynes den mjukvara som prestandamässigt är bäst på att leverera WMS-data. Överföringshastigheten är snabbast hos QGIS i alla fall förutom vid test av GeoTIFF vid en och tio användare.

Dessutom är det den mjukvara som har den mest kontinuerliga överföringshastigheten vid testning av olika datakällor, vilket bekräftas i diagrammen för överföringshastigheter samt i Figur 6. Hastigheterna för MapServer och GeoServer skiljer sig mer mellan de olika

datakällorna vilket pekar på att de inte är lika mångsidiga med hänseende på dataformat.

MapServer visar tecken på långsam hantering av GeoTIFF då den är betydligt långsammare än de två andra mjukvarorna vid test av Test-ID 5.

Vid observationer av CPU-användning under testerna visade det sig i samtliga fall att det är processorn hos serverdatorn som är den begränsande komponenten. Att de olika mjukvarorna har olika kapacitet kan bero på hur effektivt de använder processorns beräkningskapacitet.

8.2 WFS

GeoServer är den mjukvara som presterar bäst i samtliga tester. Den har högst hastighet för alla de testade datamängderna och för alla trådgrupper, dessutom gavs inga felaktiga

responser i något av fallen. Maximal kapacitet nås vid tio användare för både GeoServer och QGIS. MapServer är något långsammare än GeoServer men snabbare än QGIS i samtliga fall.

MapServer är mer varierande i hastighet mellan trådgrupperna och den maximala kapaciteten visar sig bara stabil för Test-ID 1. QGIS är betydligt långsammare än de andra mjukvarorna och ser inte ut att kunna leverera data snabbare än 6160 kB/S. En överslagsräkning med generalisering ger att 60 användare tilldelas 103 kB/S vardera vilket gör att exempelvis Test- ID 2 tar 621 sekunder för användaren att ta emot. I kontrast skulle det ta 93 sekunder för GeoServer där 682 kB/S kan utnyttjas av var och en av de 60 användarna.

Vidare så gavs det flertalet felaktiga responser från både MapServer och QGIS. Upp till 18,7

% felaktiga responser vid 60 användare och 13,3 % vid 30 användare vid test av QGIS.

Samma siffror för MapServer är 10,7 % vid 60 användare och 4,0 % vid 30 användare. I verkligheten gör detta att användaren inte erhåller den data som efterfrågas och blir därmed

(31)

25 tvungen att utföra sitt anrop på nytt. Andelen fel som uppstår tycks vara oförutsägbart då siffrorna i de två test som gjorts för varje mjukvara varierar.

Testresultaten från MapServer skiljer sig från de andra mjukvarorna då överförings-

hastigheten för Test-ID 2, 3 och 4 förändras på ett säreget sätt mellan de olika trådgrupperna.

Ytterligare tester gjordes för att detektera orsaken av problemet. Det visade sig att JMeter ibland stannar upp efter ett antal anrop för att erhålla en respons vilket gör att enstaka anrop tar betydligt längre tid att genomföra. Detta gäller endast för vid testerna av MapServer och pekar därmed på problem i antingen mjukvaran eller installationen.

Test-ID 4 är i 10 fall av 12 snabbare än Test-ID 3. Detta tyder på att data lagrad i Shape-filer kan levereras snabbare än data som lagras i databasen PostgreSQL. Därtill levereras data från Test-ID 2 i 11 av 12 fall snabbare än Test-ID 3. Detta skulle kunna bero på att mer data skickas med i varje anrop och därmed skulle tiden för själva anropen göra betydande skillnad.

Ytterligare tester utfördes för att få en förståelse för hur antalet objekt i varje anrop påverkar överföringshastigheten av data. Bilaga 4 visar skillnaderna i överföringshastighet vid olika värden av parametern maxfeatures. Dessa värden pekar på att mer efterfrågad data i varje anrop leder till ökad överföringshastighet.

8.3 Administrativa gränssnitt

Det finns betydande skillnader i de administrativa gränssnitten. GeoServer och QGIS har båda grafiska användargränssnitt men är ändå olika i det att GeoServer är webbläsarbaserat och QGIS använder skrivbordsprogramvaran för administrering av karttjänster. Dessa är relativt enkla att hantera och lära sig. Då de inte tar emot felaktig input från användare så är det svårt för administratören att skapa tjänster som inte fungerar.

MapServer använder ett textbaserat gränssnitt där karttjänstens alla parametrar definieras i en textfil. Det textbaserade gränssnittet kräver mer av administratören i form av inlärning, men också noggrannhet då all input måste motsvara tillåten syntax.

9. Diskussion

Tidigare prestandatester av QGIS server som gjorts vid FOSS4G-evenemangen har resulterat i undermålig prestanda vid leverans av WMS. Av resultaten i denna studie att döma så har

(32)

26 utvecklarna av programvaran förbättrat funktionerna för generering av data enligt WMS, vilket är fullt möjligt med tanke på att de ovan nämnda testerna är ca 5 år gamla. Det utgår från dokumentationen av FOSS4G-testerna att vissa modifikationer av mjukvarorna gjorts för att förbättra prestandan hos dem vilket, förutom användning av FastCGI, inte gjorts i detta arbete. Detta hade kunnat förändra testresultaten, men författaren anser att utvecklarna av respektive programvara inte kan förutsätta att alla användare är kapabla till att utföra dessa modifikationer som i vissa fall inbegriper förändring av källkod.

Likt resultaten i Bauer (2012) presterar GeoServer bäst vid leverans av WFS tätt följd av MapServer. Även om problem med enstaka anrop, som nämnts i 7.2.2, orsakar drastisk reducering av överföringshastigheten så kan ändå mjukvarans maximala kapacitet urskiljas i några av testerna.

Ett misstag som uppmärksammats först efter testerna var att parametern Transparent i WMS-anropen från JMeter i samtliga fall sattes till false. Detta hade inte varit ett problem om alla mjukvaror returnerat samma typ av bilder, dock lyssnar inte GeoServer till

parametern utan genererar ändå transparanta bilder. För att få GeoServer att inte använda transparenta bilder krävs ändringar i inställningarna hos programvaran. Misstaget gör att GeoServer tvingas skapa bilder med 4 band (32 bitar), ett extra för transpararens, istället för 3 (24 bitar). Storleksmässigt gör detta bilderna större, men eftersom prestandan mäts i kB/S så påverkas inte resultatet av storleksskillnaden. Det som skulle kunna skapa problem är om mjukvaran tar längre tid på sig att skapa bilderna. För att undersöka detta gjordes ytterligare tester för att ta reda på om värdet på parametern påverkar resultatet. Resultaten från fyra tester redovisas i Bilaga 5 och pekar på att transparens inte spelar någon roll för

överföringshastigheten. Testerna är gjorda på en annan hårdvarukonfiguration och kan inte jämföras med övriga resultat. Efterföljande studier inom området uppmuntras till att

undersöka prestandaskillnader vid leverans av olika bildformat med varierande parametrar för exempelvis transparens och kompression.

Vidare finns det stora skillnader i hur installation av mjukvarorna samt skapande och

modifiering av karttjänster går till i de olika mjukvarorna. Författaren anser att GeoServer är den mjukvara som är lättast att både installera och skapa karttjänster i och har även beskrivits av Giuliani et al. (2013) som en programvara som fungerar bra ”out of the box”. GeoServer erbjuder bra dokumentation på sin hemsida samtidigt som det finns mycket information på

(33)

27 diverse webbforum. Författaren anser att samma sak inte gäller för QGIS server där mycket problem uppkommit under installation och dessutom finns det inte mycket dokumentation att tillgå. Flertalet filer fick förflyttas då sökvägar och registrering av DLL-filer inte fungerar.

För att installera 64-bitarsversionen av QGIS server krävs just nu installation av en extern 64- bitarsversion av webbservermjukvaran, det är dock möjligt att detta inte kommer vara

nödvändigt i kommande versioner.

Installationen av MapServer har gått felfritt då bra dokumentation finns tillgänglig på deras hemsida. Dock är mycket dokumentation kring själva installationsprocessen ämnat för Linux- baserade system och kan därmed inte användas för konfigurationen som använts i detta

arbete. En fördel med QGIS och MapServer är också att det är lätt att skapa flera olika tjänster då varje tjänst lagras i en fil. För att göra samma sak i GeoServer krävs fler instanser av mjukvaran.

10. Slutsats

Syftet med denna studie är att bidra med beslutsunderlag för val av servermjukvara under kategorin FOSS. Detta har gjorts genom prestandatester av tre spatiala servermjukvaror, dessutom har deras administrativa gränssnitt kommenterats.

En av de frågor som ligger till grund för detta arbete var vilken av de utvalda mjukvarorna som är bäst prestandamässigt för distribuering av WMS och WFS. Testresultaten som erhållits utifrån den konfiguration som använts tyder på prestandaskillnader mellan de utvalda

mjukvarorna. QGIS presterade bäst vid distribuering av WMS i 10 av 12 tester. De andra två mjukvarorna var ojämnare mellan de testade dataformaten. I konstrast presterade QGIS betydligt sämre än GeoServer och MapServer vid distribuering av WFS. Då problem med uppkopplingshastighet uppmärksammades redan vid 10 användare så utfördes alla tester på samma maskin som servermjukvaran. Testresultaten pekar på fördel för GeoServer som presterar stabilt runt 35 000 - 40 000 kB/S vid 10, 30 och 60 simultana användare. MapServer har problem vid enstaka anrop som ibland tar flertalet sekunder att genomföra. Detta gör att vissa testresultat försämras avsevärt på grund av ett enda anrop av hundratals. Det är oklart om detta är ett fel i just den använda installationen eller om det är mjukvaran. Utöver

överföringshastigheterna tyder andelen felaktiga responser på klar fördel för GeoServer som

(34)

28 inte returnerar några felaktiga responser medan både MapServer och QGIS returnerar upp till 13,3 % respektive 18,7 % felmeddelanden vid 60 användare och något färre vid 30 användare.

Angående skillnader i prestanda och stabilitet hos de olika formaten så kan några explicita slutsatser inte dras från resultaten vid WMS-testerna. Däremot indikerar testresultaten för WFS att formatet Shape kan ge en högre dataström än PostgreSQL. Därtill har det observerats att överföringshastigheten kan öka om varje anrop efterfrågar större mängd data. Utifrån resultaten finns det inget som tyder på att stabiliteten, andel felaktiga responser, förändras mellan de olika formaten.

Vidare ställs också frågan om det finns betydande skillnader vid administrering av karttjänster i de olika mjukvarorna. GeoServer och QGIS anses båda enkla att använda, dock har de två helt olika användargränssnitt. GeoServer använder ett webbgränssnitt och QGIS server administreras genom QGIS skrivbordsprogramvara. MapServer är den mjukvara som kräver mest av administratören då karttjänsterna skapas i ett textbaserat gränssnitt. Detta gör att risken att skriva fel är överhängande och inlärningskurvan blir brant.

References

Related documents

Jag har i mina avgränsningar nämnt att jag inte tänker titta på skillnader mellan olika söksånger, men vill ändå föra en kort diskussion om resultaten

Motiveringen är att denna metod lämpar sig bäst för besvara dessa delmål då andra metoder inte kan ge samma resultat eller så lämpar de sig inte till att besvara dessa

The internal metrics highlighted can also demonstrate company´s efficiency in open source engagement, such as the time and number of lines of code changed during the rebase work,

67 Findahl (2010) Unga svenskar och internet s 21. 68 Bergström (2008)

För att kunna beräkna avståndet mellan två instanser krävs det att likheterna mellan alla möjliga värden hos varje attribut är kända.. Detta är ofta trivialt då värdena

P˚ a andra sidan finns ocks˚ a konkurrenter som anv¨ ander ¨ oppen k¨ allkod, till exempel PostgreSQL, och SQLite, vilka anv¨ ander icke-copyleft-licenser och kan d¨ armed anv¨

LiveCD:n kommer fokusera på att tillhandahålla en säkrare datormiljö för distansarbetare på ett enkelt sätt, vilket också gör projektet unikt.. För att kunna utvärdera

För att mäta datamängden som hämtas från Internet vid en sidladdning användes switchen som är kopplad innan optimeringen.. Den registrerar hur många bytes som skickas genom