Výběr schopnosti ArcGIS Enterprise pro benchmarkování
Jako základní softwarový systém pro GIS, ArcGIS Enterprise vykonává mnoho úkolů jako mapování a vizualizace, analytiku. Z tohoto širokého spektra schopností a funkcí neexistuje jediný test, který by mohl reprezentovat všechny jeho schopnosti.
Nicméně, pokud by jedna funkce měla být použita jako benchmark pro testování nasazení ArcGIS Enterprise, silný argument lze podat pro funkci exportu mapové služby. Export mapy lze snadno a programově volat v Apache JMeter Test Plánu změnou prostorových rozsahů požadavků z CSV datových souborů přes několik měřítek mapy. To znamená pouze jeden požadavek pro každou transakci měřítka mapy, což pomáhá udržet test jednoduchý a snadno udržovatelný. V kombinaci s faktem, že exportní funkce je dostupná od verze 9.3, jde o osvědčenou a spolehlivou operaci pro benchmarkování.
Co je benchmark mapové služby?
Testovači GIS a správci jsou často pověřeni pochopením rozdílů v propustnosti mezi dvěma systémy nebo stejným systémem po nějaké formě úpravy prostředí. V takových scénářích je benchmark proces provedení zátěžového testu, který slouží jako standard, ke kterému lze porovnat více věcí navzájem.
Ve vztahu k GIS by tento zátěžový test byl Apache JMeter Test Plán provádějící krokový zátěžový test proti mapové službě ArcGIS Enterprise za účelem pochopení nejvyšší rychlosti propustnosti (transakcí/s nebo požadavků/s), které lze dosáhnout z nasazení vzhledem k určitému stavu nebo konfiguraci. Tato rychlost je také známá jako špičková propustnost. Při špičkové propustnosti je také kritické měřit výkon (doba odezvy transakce nebo požadavku).
Benchmark dataset
Jakýkoli dataset může být použit pro benchmark, pokud je udržován konstantní, kde nedochází ke změnám jako přidávání, aktualizace, mazání prvků a verzí. Tato konzistence pomáhá vytvořit spolehlivý "standard", protože jde o neměnný cíl. Testovací data mohou být soukromá (např. proprietární) nebo veřejně dostupná.

Co jsou data veřejné domény?
Obecně řečeno, data veřejné domény jsou jakékoli rastrové nebo vektorové datasety, které jsou zdarma ke stažení a použití. Existuje mnoho datasetů veřejné domény (a potenciálně různé licence, které je definují). Data použitá v tomto článku jsou Vyrobená s Natural Earth a poskytována prostřednictvím licence Creative Commons (CC0).

Proč používat data veřejné domény?
Jednou z charakteristik dobrého benchmarku je konstrukce testu tak, aby ostatní mohli zopakovat stejný test jako vy. Data veřejné domény jsou v tomto ohledu dobrou volbou, protože podporují standard testování a spolehlivou měřicí jednotku pro výkon a škálovatelnost.
SampleWorldCities vs Natural Earth
Zatímco zahrnutí SampleWorldCities do ArcGIS Serveru prostřednictvím jeho instalace pomáhá učinit dataset všudypřítomným a vhodným pro příklady testů a průvodců, jeho extrémně malá velikost jej nedělá ideálním pro benchmarkování mapové služby.
Na druhé straně datasety Natural Earth poskytují slušné detaily mapy (na menších měřítkách) pokrývající celý svět. Navíc to lze dosáhnout při snadno zvládnutelné velikosti na disku, což usnadňuje sdílení, stahování a použití.
Benchmark dataset Natural Earth
- Stáhněte si zde benchmark dataset
- Data jsou podmnožinou Natural_Earth_quick_start.zip a obsahují upravený MXD pro projekty ArcMap 10.8.1 a ArcGIS Pro 2.8.
- Lze použít kterýkoli k publikování mapové služby do ArcGIS Enterprise.
- Podmnožina dat Natural Earth by měla vypadat podobně jako následující po otevření v ArcGIS Pro (nebo ArcMap)

Nasazovací architektura
Architektura je důležitým detailem benchmarku. Následující jsou všechny důležité komponenty architektury benchmarku, které mají vliv na test:
- Existuje Web Adaptor?
- Byla zapojena autentizace nebo byla služba zpřístupněna všem?
- Autentizace Portal for ArcGIS
- Tokenová autentizace ArcGIS Serveru
- Dostupné všem
- Kolik strojů se podílelo na ArcGIS Site?
- Detaily procesoru
- Model procesoru a architektura
- Počet CPU jader pro každý server (včetně pracovní stanice klienta testu)
- Fyzický, virtuální nebo cloudový
- Detaily fyzické paměti
- Celkova velikost systémové paměti
- Rychlost sítě
- Verze ArcGIS Enterprise
- Verze operačního systému
Poznámka: Doporučuje se zaznamenat detaily nasazovací architektury. Uložení těchto informací spolu s výsledky testu může pomoci dát správný kontext a význam analýze nebo závěrům.
Výsledky uvedené v tomto benchmarkovém testu byly provedeny na následující architektuře prostředí:
- ArcGIS Server (10.9 Final)
- Dell PowerEdge R640
- Windows Server 2019
- Síť 10G
- ArcGIS Web Adaptor (10.9 Final)
- Dell PowerEdge R440
- Windows Server 2019
- Síť 10G
- KLIENT TESTU
- Apache JMeter 5.4.1
- Dell PowerEdge R640
- SPECint_rate_base2006
- 6 virtuálních CPU
- 16GB RAM </ LI ></ UL ></ LI >< LI >Windows Server 2019 </ LI >< LI >Síť 10G </ LI ></ UL ></ LI ></ UL >< H2 id = "toc-hId--525789242">< SPAN > Typ zdroje dat a umístění </ SPAN ></ H2 >< P >< SPAN > Použití buď souborové geodatabáze nebo enterprise geodatabáze k ukládání dat pro benchmarkový test je v pořádku. R </ SPAN >< SPAN > egardless of which is used, the detail of the data source is an important property of the environment which should be </ SPAN >< SPAN > noted.</ SPAN ></ P >< P >< SPAN >< FONT color = "#FF0000">< STRONG > Poznámka: Doporučuje se zaznamenat typ zdroje dat. Uložení těchto informací spolu s výsledky testu může pomoci dát správný kontext a význam analýze nebo závěrům. </ STRONG ></ FONT ></ SPAN ></ P >< P >< SPAN > Pokud jde o umístění, může být nutné použít vzdálenou souborovou geodatabázi místo lokální souborové geodatabáze pokud nasazení sestává z více serverů, které tvoří ArcGIS Enterprise Site. V obou případech, vzdáleném i lokálním, je umístění zdroje dat také důležitým detailem testovacího prostředí, který by měl být zaznamenán.<\/SPAN><\/P>
Poznámka: Doporučuje se zaznamenat umístění zdroje dat. Uložení těchto informací spolu s výsledky testu může pomoci poskytnout správný kontext a význam analýzy nebo závěrů.<\/STRONG><\/FONT><\/P>Typ služby a počet instancí<\/FONT><\/H2>Pro nejpoužívanější ArcGIS mapové služby v rámci Site se doporučuje publikovat zdroj jako Dedicated instance místo Shared. Ačkoliv oba typy mohou škálovat tak, aby plně využily dostupný hardware, Dedicated service instance má za scénou zdroje vyhrazené pouze pro ni, což ji činí ideální volbou pro benchmark test.<\/FONT><\/P>Pro předvídatelný výkon se doporučuje nastavit Minimální a Maximální počet instancí pro typ Dedicate instance rovný počtu CPU jader stroje ArcGIS Server.<\/FONT><\/P>Poznámka: Doporučuje se zaznamenat typ služby a počet instancí. Uložení těchto informací spolu s výsledky testu může pomoci poskytnout správný kontext a význam analýzy nebo závěrů.<\/STRONG><\/FONT><\/P>Záleží na možnostech požadavků v Benchmark Testu?<\/H2>Rozhodně! Použití společného datasetu a funkce export mapy není dostatečné k vytvoření spolehlivého benchmarku. Exportní operace je velmi všestranná, ale díky této flexibilitě může být obrázek generován pomocí různých vstupních možností.<\/P>Zátěžový test, který konzistentně odesílá požadavky na mapovou službu, je důležitý pro stanovení spolehlivého benchmarku. Může test požadovat BMP formát obrázku místo PNG nebo požadovat data v jiné prostorové referenci než výchozí 4326? Ano, ale změna takových možností může ovlivnit výkon a škálovatelnost testu, proto se doporučuje ponechat nastavení Test Plan tak, jak jsou.<\/P>Plán benchmarkového testu Mapové služby <\/H1>Ke stažení Apache JMeter Test Plan použitého v tomto článku viz: <\/SPAN>naturalearth1.zip<\/A> <\/STRONG>- Tento Test Plan je z velké části založen na projektu SampleWorldCities z
předchozího článku<\/A><\/LI><\/UL><\/LI><\/UL>- Stažení a otevření Test Planu v Apache JMeter by mělo vypadat podobně jako následující:
Konfigurace Thread Group<\/H2>Thread Group definuje charakteristiky krokového zatížení testu a hraje důležitou roli. Pro export mapy má maximální počet vláken (Number of Threads) testu úzký vztah k maximálnímu počtu CPU jader stroje ArcGIS Server (a obdobně k maximálnímu počtu instancí služby). Konfigurace vláken testu tak, aby překročila počet jader, pomáhá zajistit dostatečný tlak k plnému využití CPU serveru. Odtud by měl být pozorován vrchol průtoku (peak throughput), což je primární cíl benchmark testu.<\/P>Poznámka: Ne všechny testované datasety mohou ukázat plné využití CPU dané služby na úrovni ArcGIS Server vrstvy. V takových případech je potřeba další řešení problémů k pochopení, kde existuje úzké místo omezující škálovatelnost daného pracovního postupu.<\/STRONG><\/FONT><\/P>Obecné pravidlo je nastavit maximální krokové zatížení o 25 % až 60 % vyšší než počet CPU jader serveruJak je vidět níže, Test Plan je nakonfigurován běžet po dobu 1 hodiny a dosáhnout maximálního krokového zatížení 40 současných vláken testuTento benchmark začíná na 1 vlákně testu a přidává další vlákno každých 90 sekund<\/LI>Tento benchmark byl navržen pro testování nasazení ArcGIS Server běžícího na 24 fyzických CPU jádrech <\/LI>Upravte podle potřeby, ne každý ArcGIS Server poběží na 24 fyzických jádrech a maximální hodnoty kroků mohou být pro vaše nasazení příliš vysoké<\/LI><\/UL><\/LI><\/UL><\/LI><\/UL>
Poznámka: Doporučuje se zaznamenat podrobnosti konfigurace krokového zatížení. Uložení těchto informací spolu s výsledky testu může pomoci poskytnout správný kontext a význam analýzy nebo závěrů.<\ /STRONG> Provádění benchmarkového testu < P > Benchmark by měl být spuštěn stejným způsobem jako typický JMeter Test Plan.<\ / P > < P > Viz skript runMe.bat zahrnutý v projektu naturalearth1.zip jako příklad spuštění testu doporučeného týmem Apache JMeter.<\ / P > < P > < FONT color = "#FF0000">< STRONG > Poznámka: Vždy se doporučuje koordinovat čas zahájení zátěžového testu a jeho trvání s příslušným personálem. To zajišťuje minimální dopad na uživatele a další kolegy, kteří také mohou potřebovat používat ArcGIS Enterprise Site. Navíc to pomáhá zabránit systémovému šumu z jiné aktivity a použití, které by mohly „znečistit“ výsledky testu.<\ / STRONG ><\ / FONT ><\ / P > < H1 id = "toc-hId--1235894408">Výsledky a analýza < P > Po dokončení zátěžového testu skript runME.bat instruuje Apache JMeter k automatickému vytvoření zprávy pro usnadnění analýzy výsledků.<\ / P > < P > Existují celé články a internetové zdroje věnované výhradně analýze komponent výsledků zátěžového testu. Abychom to udrželi jednoduché, zaměříme se na metriky propustnosti požadavků (requests/sec) a výkonu požadavků (sekundy) ze zprávy.<\ / P > < P > Níže uvedené diagramy ilustrují ideální trendy těchto dvou položek v průběhu času během testu.<\ / P > < H2 id = "toc-hId-1380701144">Ideální křivka propustnosti
< P >< span class = "lia-inline-image-display-wrapper lia-image-align-center" image-alt = "theoretical_throughput_curve.png" style = "width: 984px;" >< img src = "https://us.v-cdn.net/6038851/uploads/images/17248iF22584F5C377D6E1/theoretical_throughput_curve.png" role = "button" title = "theoretical_throughput_curve.png" alt = "theoretical_throughput_curve.png" /><\ / span ><\ / P > < P > <\ / P > < P > Ideálně bude mít křivka propustnosti tvar oranžové čáry výše. Bod, kde křivka vrcholí a začíná se vyrovnávat, naznačuje, že systém dosáhl své nejvyšší úrovně propustnosti (kvůli hardwarovému nebo softwarovému úzkému místu). Tato oblast grafu, kde se křivka ohýbá, se nazývá koleno a hodnota maximální propustnosti je právě v tomto bodě.<\ / P > < P > Modrá čára představuje rostoucí krokové zatížení testu.<\ / P > < H2 id = "toc-hId--426753319">Ideální křivka výkonu < P >< span class = "lia-inline-image-display-wrapper lia-image-align-center" image-alt = "theoretical_performance_curve.png" style = "width: 983px;" >< img src = "https://us.v-cdn.net/6038851/uploads/images/17240i39DD4BF543301408/theoretical_performance_curve.png" role = "button" title = "theoretical_performance_curve.png" alt = "theoretical_performance_curve.png" /><\ / span ><\ / P > < P > Ideálně bude mít křivka doby odezvy tvar zelené čáry výše. Je brána ve stejném bodě testu jako maximální propustnost.<\ / P > < P > Modrá čára představuje rostoucí krokové zatížení testu.<\ / P > < H1 id = "toc-hId-1931676795">JMeter Report < P > Součástí projektu naturalearth1.zip je Apache JMeter report nazvaný naturalearth1_run1 ve složce reports.<\ / P > < UL >< LI > Otevření index.html odhalí několik grafů a tabulek pro usnadnění analýzy<\ / LI ><\ / UL > < H1 id = "toc-hId-124222332">< span class = "lia-inline-image-display-wrapper lia-image-align-center" image-alt = "report_folder.png" style = "width: 999px;" >< img src = "https://us.v-cdn.net/6038851/uploads/images/17247iF369998FE40007C4/report_folder.png" role = "button" title = "report_folder.png" alt = "report_folder.png" /><\ / span ><\ / H1 > < H2 id = "toc-hId--855987471"> <\ /SPAN>Skutečná křivka propustnosti < UL >< LI >Z reportu:<\ /SPAN> < UL class= "lia-list-style-type-circle">< LI >Pod Charts-->Throughput lze najít graf Hits Per Second, kde je vykreslena propustnost požadavků z testu<\ /SPAN>
< UL class= "lia-list-style-type-square">< LI >Jelikož byl test sestaven tak, že každá transakce obsahuje pouze jeden požadavek, „hits za sekundu" je ekvivalentní jak transakcím/sec, tak požadavkům/sec - Systém dosáhl maximální propustnosti přibližně 80 transakcí/sec (nebo 80 požadavků/sec)
Skutečná křivka výkonu
- Z reportu:
- Pod Grafy-->Časy odezvy lze najít graf Čas vs Vlákna, kde je vykreslen výkon požadavků z testu
- Všechny položky kromě "/pvtserver/rest/services/NaturalEarth/MapServer/export" jsou vyfiltrovány (kliknutím na ně v legendě)
- Jelikož byl test sestaven tak, že každá transakce obsahuje pouze jeden požadavek, požadavek "export" také reprezentuje průměrný výkon transakce
- V bodě maximální propustnosti systém poskytuje výkon transakce přibližně 314 ms nebo 0,3 sekundy

Poznámka: Pro analýzu zatěžovacího testu obsahujícího transakce s více než jedním požadavkem bude třeba použít odlišný přístup
Porovnání výsledků
Po dokončení testu vašeho systému s poskytnutými daty a Testovacím plánem můžete výsledky porovnat s těmi uvedenými v tomto článku. To může poskytnout přibližnou měřítko pro srovnání dvou systémů.
Apache JMeter uvolněný pod Apache Licencí 2.0. Apache, Apache JMeter, JMeter, pírko Apache a logo Apache JMeter jsou ochranné známky Apache Software Foundation.