Wat is Test Data? <\/H1>In eenvoudige bewoordingen wordt testdata gebruikt om een prestatie- of belastingstest aan te sturen door verschillende interessegebieden op te vragen van een ArcGIS Enterprise-kaartservice. Deze ruimtelijke delen van de data nemen meestal de vorm aan van punten of begrenzingsvakken (bboxes) en worden doorgaans opgeslagen in een platte tekstbestand of in sommige gevallen in een database.<\/P>Vorige Community-artikelen over Load Testing ArcGIS Enterprise met Apache JMeter richtten zich op strategieën voor het opbouwen van testlogica en het uitvoeren van de test. De voorbeeldprojecten die in deze blogs werden aangeboden, bevatten testdata in de vorm van platte tekst komma-gescheiden waarde (CSV)-bestanden die direct in de verzoeken werden ingeplugd. Deze CSV-bestanden bevatten items zoals begrenzingsvakken en een bijbehorende ruimtelijke referentie om de HTTP-verzoeken in de test van parameterinformatie te voorzien. Bij elke iteratie van de test wordt de volgende regel data ingelezen die vervolgens in het verzoek wordt ingevuld.<\/P>
<\/span><\/P> Voor demonstratiedoeleinden werkte deze testdata goed voor het opvragen van verschillende kaartschaalniveaus tegen services zoals SampleWorldCities en NaturalEarth. Echter, die voorbeeld testdatasets zijn beperkt bruikbaar voor andere kaartservices omdat de vooraf gegenereerde begrenzingsvakken alleen zijn gemaakt om interessegebieden over de hele wereld op hoog niveau op te vragen. Als uw organisatie werkt met data op staats-, provincie- of stadsniveau, wilt u testdata hebben die zich op die gebieden richt om de waarde van de belastingstest te maximaliseren. Met andere woorden, u wilt testdata op een grotere kaartschaal en testdata die een specifiek interessegebied beslaat.<\/P>Het genereren van dergelijke data die specifiek is voor uw services of uw ruimtelijke data wordt een cruciaal onderdeel van het proces om een goede belastingstest te maken. Hoewel het samenstellen van enkele geometrieën met de hand voor een eenvoudige test zeker mogelijk is, worden de verzoekhandtekeningen snel herhaald wat resulteert in schaalbaarheids-patronen die scheefgetrokken en niet realistisch zijn. Een betere test is er een die gebruikmaakt van een grote hoeveelheid willekeurige geometrieën om de kaartservice en hardwarebronnen effectiever te belasten.<\/P>Tools voor het Maken van Aangepaste Load Data<\/H1>Gelukkig is er een set recent vrijgegeven testtools voor ArcGIS Pro op GitHub die de taak van datageneratie buitengewoon eenvoudig maakt. <\/P>De naam van het hulpprogramma is: Load Testing Tools<\/STRONG> en is beschikbaar op: https:\/\/www.arcgis.com\/home\/item.html?id=b06ef175665a45d68f5796f321b56e61<\/A> <\/LI>De voorbeelden in dit artikel waren gebaseerd op versie 1.1 van de toolset<\/LI><\/UL><\/LI><\/UL>Een van mijn favoriete tools in de groep is "Generate Bounding Boxes" die snel begrenzingsvakken kan genereren door gebruik te maken van ofwel de huidige extent van de kaart of een geselecteerde polygoon. Het kunnen invoeren van een specifieke polygoon is een zeer krachtige functie omdat de geometrieën die worden gemaakt gefilterd kunnen worden tot alleen uw interessegebied (bijv. Land, Staat, Provincie of Stad). De gegenereerde data kan visueel worden gevalideerd (via aparte feature classes die worden aangemaakt) en direct worden ingeplugd in een JMeter Test Plan (via CSV-bestanden die ook worden aangemaakt). Nogmaals, heel eenvoudig...heel krachtig.<\/DIV>
Aangepaste Testdata Maken<\/H1>De Tools Beschikbaar Maken vanuit ArcGIS Pro<\/H2>Zodra het load-testing-tools <\/STRONG>project naar uw machine is gedownload, plaatst u de map in een directory die toegankelijk is of gemaakt wordt toegankelijk door ArcGIS Pro.<\/P>Bijvoorbeeld:<\/P>Plaats de load-testing-tools map in C:\\Users\\[gebruikersnaam]\\Documents\\ArcGIS<\/LI>Gebruik de Add Folder Connection vanuit Catalogus in ArcGIS Pro om de inhoud van deze directory weer te geven:<\/LI><\/UL>
<\/span><\/P>Een Polygoon Gebruiken om het Interessegebied af te Bakenen<\/H2>In dit ArcGIS Pro-project is een polygoon-featureclass (de Amerikaanse staat Indiana in roze) toegevoegd aan de kaart om een grens te definiëren rond het gebied waarbinnen de begrenzingsvakken voor de verzoeken in de test zullen worden gegenereerd.<\/P>Het geprojecteerde coördinatensysteem van de Indiana State featureclass is: WGS 1984 Web Mercator (auxiliary sphere)<\/EM>De WKID hiervan is: 3857<\/EM><\/LI><\/UL><\/LI>Ter referentie blijft de standaard Basemap (World Topographic Map) in de kaart staanHet geprojecteerde coördinatensysteem van de Basemap is ook: WGS 1984 Web Mercator (auxiliary sphere)<\/EM><\/LI><\/UL><\/LI><\/UL>
<\/span><\/P>Invoerparameters Generate Bounding Boxes Tool<\/H2>U kunt het Generate Bounding Boxes-gereedschap starten door naar de load-testing-tools map te navigeren vanuit het ArcGIS Pro Catalog scherm. Vouw Load Testing Tools.tbx<\/EM> uit en dubbelklik op Generate Bounding Boxes. Het Geoprocessing-scherm zou moeten verschijnen en er ongeveer als volgt uitzien:<\/P>
<\/span><\/P>Eén van de handige functies van het Generate Bounding Boxes-gereedschap is dat het technisch gezien klaar is voor gebruik door simpelweg op Run te klikken! Met de standaardopties genereert het willekeurig begrenzingsvakken met behulp van het huidige extent van de ArcGIS Pro-kaart. <\/SPAN><\/P>Opmerking: De standaard kaartschaalniveaus van het Generate Bounding Boxes-gereedschap lijken op die van ArcGIS Online maar voor beknoptheid worden slechts elke tweede schaal vermeld. Als u extra kaartschaalniveaus nodig heeft, kunnen deze handmatig worden toegevoegd binnen het gereedschap.<\/STRONG><\/FONT><\/P>Hoewel dit het genereren van data erg gemakkelijk maakt, zijn we in dit voorbeeld geïnteresseerd in het genereren van vakken binnen een bepaalde polygoon (staat Indiana). We willen ook heel specifiek zijn over welke kaartschaalniveaus onze test zal gebruiken, dus we zullen enkele schalen verwijderen en andere toevoegen via de interface van het gereedschap.<\/SPAN><\/P>Vanuit het Generate Bounding Boxes-gereedschap:
Klik op het rode X voor 73957191, 18489298, 4622324, 1155581, 288895, 282, 70 om deze kaartschaalniveaus te verwijderen<\/SPAN>
Voeg vanuit het lege tekstvak onder kolom Scale 36112 toe en gebruik 100 voor kolom Number of Records<\/> Voeg vanuit het lege tekstvak onder kolom Scale 9028 toe en gebruik 1000 voor kolom Number of Records<\/> Voeg vanuit het lege tekstvak onder kolom Scale 2257 toe en gebruik 3000 voor kolom Number of Records<\/> Verhoog Number of Records voor 4514 tot 1000 records<\/> Verhoog Number of Records voor 1128 tot 3000 records<\/>
Klik op het dropdownmenu onder Polygon Layer en selecteer de featureclass van belang binnen de kaart, in dit geval Indiana
Vouw Output Options uit Let op locatie csv-bestand met begrenzingsvakken Aparte csv-bestanden per kaartschaalniveau worden ook op deze locatie aangemaakt</ LI></ LI > < LI > Selecteer optie "Output Separate Feature Class Per Scale "</ LI > </ UL > </ LI > </ UL > < P > < span class = \ "lia-inline-image-display-wrapper lia-image-align-center \ " image-alt = \ "arcgispro_outputoptions.png \ " style = \ "width: 489px; \ ">
</ span > role="button" title="arcgispro_outputoptions.png" alt="arcgispro_outputoptions.png" "/><\/span><\/P>Na de aanpassing zou de invoer van de Generate Bounding Boxes tool er als volgt uit moeten zien ([username] zou je Windows-gebruikersnaam weergeven):<\/LI><\/UL>
<\/span><\/P>Klik op UitvoerenHet uitvoeren van de tool kan enkele ogenblikken duren<\/LI>Het scherm Inhoudsopgave begint te vullen door feature classes toe te voegen aan de Kaart (één per schaal)<\/LI><\/UL><\/LI><\/UL>Visualiseren van de gegenereerde gegevens van de individuele feature classes<\/H2>Eenmaal voltooid, zou de uitvoer binnen ArcGIS Pro er ongeveer als volgt uit moeten zien:<\/LI><\/UL>
<\/span><\/P>De individuele feature class maakt kwaliteitscontrole eenvoudig omdat het gemakkelijk is om de interessegebieden te zien die de test zal maken van de gegenereerde gegevens<\/SPAN><\/LI><\/UL>Opmerking: Sommige van de gegenereerde bounding boxes kunnen delen van hun geometrie bevatten die buiten het interessegebied vallen. Dit is prima.<\/STRONG><\/FONT><\/SPAN><\/P>Dankzij de visualisatie van de gegevens is het ook gemakkelijk te zien waarom minder<\/EM> bounding boxes werden gemaakt voor kleinere kaartschaal zoals 1:72.224 en 1:36.112<\/LI>Evenzo is dit waarom meer<\/EM> bounding boxes werden gemaakt voor grotere kaartschaal zoals 1:2.257 en 1:1.128<\/LI><\/UL>
<\/span><\/P> Opmerking: Afhankelijk van je gegevens en hun dichtheid bij de grotere schalen, kan het voordelig zijn om meer dan 3000 bounding boxes (per schaal) te genereren om "meer terrein te bestrijken". Houd er rekening mee dat sommige load test frameworks CSV-gegevens in het geheugen kunnen laden en het creëren van extreem grote datasets mogelijk meer geheugen vereist van de testclient.<\/STRONG><\/FONT><\/P>Visualiseren van de gegenereerde gegevens van de individuele CSV-bestanden<\/H2>Gebruikmakend van de bestandsverkenner, navigeer naar het ArcGIS Pro-project dat gebruikt is voor het genereren van de gegevens:C:\Users\[username]\Documents\ArcGIS\Projects\MyProject1<\/LI><\/UL><\/LI>De inhoud van de map zou er ongeveer als volgt uit moeten zien:<\/LI><\/UL>
<\/span><\/P>Het openen van de inhoud van bounding_boxes_2257.csv zou er als volgt uit moeten zien:<\/LI><\/UL>
<\/span><\/P>Deze gegevens werken met de meeste load testing tools die parameterisatie van HTTP-verzoeken vanuit CSV-bestanden toestaan<\/SPAN><\/UL>Opmerking: De feature class die gebruikt wordt als Polygon Layer voor ruimtelijke filtering kan een Projected Coordinate Systems gebruiken anders dan WGS 1984 Web Mercator (auxiliary sphere). Echter, de gegenereerde CSV-gegevens worden nog steeds geprojecteerd in bounding boxes met een WKID van 3857.<\/STRONG>
Gebruik van de gegenereerde gegevens in een Apache JMeter Test Plan
Met een procedure voor het genereren van ruimtelijk aangepaste gegevens, kun je de CSV-bestanden importeren in een Apache JMeter Test Plan om te gebruiken in een load test.<\P>
De vorige testartikelen:<\P>
Aangeleverde Apache JMeter voorbeeldtests die goede sjablonen zouden zijn om te gebruiken met je nieuwe data en tegen je kaartservices.<\P>
CSV Data Set Config
Met het CSV Data Set Config-element in JMeter kan naar de nieuw gegenereerde testdata verwezen worden via het pad op het bestandssysteem.<\P>
- De Bestandsnaam-padwaarde verwijst naar de locatie van het CSV-bestand op de schijf
- C:/JMeter Tests/naturalearth1/datasets/bounding_boxes_288895.csv
- Voorbeeldtestprojecten uit eerdere artikelen gebruikten variabelen voor het pad
- ${ProjectFolder}/datasets/bounding_boxes_288895.csv
- De Variabelenamen duiden op de kolomkoppen in het CSV-bestand
- bbox,width,height,mapUnits,sr,scale zou dan worden bbox_288895,width_288895,height_288895,mapUnits_288895,sr_288895,scale_288895, aangezien de test mogelijk andere kaartschaal gebruikt waarbij alleen "bbox" dubbelzinnig zou zijn

De HTTP Request-elementen die naar je kaartservice verwijzen kunnen vervolgens worden aangepast om variabelen zoals ${bbox_288895} te gebruiken die verwijzen naar je gegenereerde testdata.
Apache JMeter
uitgebracht onder de
Apache
License 2.0.
Apache, Apache JMeter, JMeter, the Apache feather, and the Apache JMeter logo zijn handelsmerken van de Apache Software Foundation.