Benchmark ArcGIS Enterprise...Původní přístup
Před časem jsem diskutoval o použití datasetu Natural Earth s předkonfigurovaným testem Apache JMeter k benchmarkování nasazení ArcGIS Enterprise. Výsledky tohoto testu pak mohly být porovnány s běhy z jiných nasazení, aby se získala srovnávací představa o výkonu a škálovatelnosti základního hardwaru. Tento přístup měl několik výhod:
- Natural Earth je bezplatný GIS data
- Dostupné pro veřejné použití
- Nízká až střední složitost dat (snadné na práci)
- Testovací plán obsahoval krokové zatížení pro pozorování škálovacích schopností
I když užitečné a dobrý měřicí standard, škálovací komponenta znamenala, že test obvykle běžel dlouho (což také přidalo určitou komplikaci). Zajímalo mě, jestli existuje jednodušší způsob, jak jen benchmarkovat zpracovatelský hardware (např. CPU), ale stále přes ArcGIS Enterprise:
- Bylo možné použít JMeter z výkonového-only hlediska?
- Mohl jsem vytvořit test k benchmarkování ArcGIS Enterprise bez základního FGDB nebo enterprise geodatabázového datasetu (což by mělo zjednodušit celkové úsilí)?
Ukázalo se, že odpovědi byly ano!
Benchmark ArcGIS Enterprise...Alternativní přístup
Dobře...mluvím v polopravdách. Nový benchmark test nezávisí na službě založené na FGDB nebo eGDB datasetu, ale potřebuje nějaká data. Abychom to udrželi jednoduché, data (např. předgenerované geometrie) jsou jednoduše předána přes JMeter vzorkovací prvky do ArcGIS zdroje, který nemá za scénou referencovaný dataset.
Jak se to tedy dělá?
Přes osvědčenou Geometry service. Geometry service ArcGIS Serveru je vestavěný zdroj, který poskytuje přístup k mnoha funkcím pro provádění geometrických operací. Výpočty těchto operací (jako buffer nebo generalize) mohou být jednoduché nebo složité (v závislosti na tom, co požadujete). Z pohledu analytika výkonu poskytuje fantastický prostředek pro benchmarkování CPU hardwaru stroje, na kterém běží ArcGIS Server.<\/SPAN>
Poznámka: Ačkoli termín ArcGIS Enterprise zahrnuje ArcGIS Server, tento benchmark primárně cvičí ten druhý (např. ArcGIS Server). Některý provoz může procházet přes ArcGIS Web Adaptor a probíhá malé množství autentizace Portal for ArcGIS, ale podle návrhu většina práce bude provedena ArcGIS Serverem.<\/STRONG>
Výhody použití Geometry service
Geometry service existuje v ArcGIS Server od verze 9.3, takže je všudypřítomný. To činí test využívající jej snadným a spolehlivým. Protože data pohánějící test jsou vložena do klíč/hodnota párů požadavků, přidává to přenositelnost (např. žádný dataset k nošení).
Poznámka: I když je Geometry service součástí ArcGIS Server již delší dobu, ve výchozím nastavení je vypnutá a neběží. Služba musí být spuštěna a sdílena příslušným členům Portal for ArcGIS před spuštěním testu.<\/STRONG>
Testovací plán Geometry_Functions_Benchmark
- Stažení a otevření Test Plánu v Apache JMeter by mělo vypadat podobně jako následující:
- Upravte Uživatelsky definované proměnné tak, aby odpovídaly vašemu prostředí

Jaké typy funkcí by měly být testovány?
Pro benchmark je krátká odpověď jen několik. Tento konkrétní Test Plan volá jen několik různých operací... stejně jako stejné operace různými způsoby (např. změnou parametrů požadavku za účelem získání variantní odpovědi). To poskytuje mutabilitu, takže test nedělá pořád totéž dokola.
Níže je pohled na operace použité v tomto benchmarku:

Očekávaný výkon testu a operací
Tento test má některé operace, které mohou být rychlé a jiné, které zabere více času. Tato rychlost se bude lišit podle hardwaru. Nakonec chceme jen ArcGIS Enterprise (např. Server) pracovat jen pár minut, abychom získali představu o výkonu zpracování. Kdyby každá operace trvala 10 minut (a test mnohem déle), samotný benchmark by mohl být příliš časově náročný a méně praktický k použití.
Příklad architektury nasazení
Tento benchmark test byl spuštěn v laboratoři proti dvěma různým serverům (např. jednou na každý server):
- ArcGIS Enterprise -- Stroj #1 (starší hardware)
- Intel Xeon E5-4650, 2.70 GHz
- SPECint_base2006
- Skóre: 50.5
- 32 zpracovatelských jader
- HyperThreading vypnutý
- 64GB RAM
- Síť 10Gbps
- ArcGIS Enterprise -- Stroj #2 (novější hardware)
- Intel Xeon Gold 6126, 2.60 GHz
- SPECint_base2006
- Skóre: 71.9
- 24 zpracovatelských jader
- HyperThreading vypnutý
- 128GB RAM
- Síť 10Gbps
Poznámka: Protože toto testování bylo více zaměřeno na rychlost než propustnost, byly použity hodnoty SPECint_base místo SPECint_rate_base.<\/STRONG>
Spuštění benchmarkového testu
Pro dlouhotrvající testy se nedoporučuje spouštět Test Plan v GUI. Nicméně protože se jedná o relativně krátký test, dopad je minimální.
Poznámka: Při spuštění jakéhokoliv testu se vždy doporučuje koordinovat čas začátku a očekávanou délku s příslušným personálem. To zajistí minimální dopad na uživatele a další kolegy, kteří mohou také potřebovat používat dané místo ArcGIS Enterprise (např. produkční nasazení). Navíc to pomáhá zabránit systémovému šumu z jiné aktivity a používání, které by mohly "znečistit" výsledky testu.<\/STRONG>
Výsledky
Po úpravě Uživatelsky definovaných proměnných tak, aby ukazovaly na příslušné prostředí (Stroj #1…devlab05), byl benchmark spuštěn přímo v JMeter GUI. Výsledky lze sledovat z prvku View Results in Table:
- Z důvodu pohodlí Test Plan automaticky počítá celkovou dobu běhu testu přímo v názvu poslední operace
- Toto usnadňuje pozorování času benchmarku z tabulky
<\/span><\/SPAN><\/P>Očekávaně první stroj potřeboval více času na dokončení stejných operací. To vedlo k měřitelnému rozdílu ve výkonu mezi oběma stroji.<\/SPAN><\/P>Stroj #1…devlab05Doba benchmarku: 259946 ms<\/LI><\/UL><\/LI>Stroj #2…eistsrv05Doba benchmarku: 181441 ms<\/LI><\/UL><\/LI><\/UL>Výpočet procentuální změny<\/H2>Jelikož doby odezvy byly nižší (např. rychlejší) u novějšího hardwaru (ve srovnání s prvním během na starším hardwaru), vypočítáme procentuální pokles<\/EM>:<\/P>Nejprve, původní doba serveru - doba nového serveru = pokles<\/LI>Poté, pokles ÷ původní doba serveru × 100 = % pokles<\/LI><\/UL>(259946 ms - 181441 ms) / 259946 ms = 0.302<\/P>0.302 × 100 = 30.2% <\/P>Doby benchmarku ze staršího hardwaru (náš výchozí bod) byly o 30 % vyšší než u novějšího hardwaru<\/U>. Tato procentuální změna naznačuje měřitelné zlepšení při použití novějšího hardwaru.<\/P>Odhad procentuální změny na základě SPEC<\/H2>Použijme poměr SPEC spolu s dobou benchmarku z původního běhu k predikci target_time (doby benchmarku na novějším stroji). To může pomoci pochopit, zda by se přibližně stejná procentuální změna dala odhadnout.<\/P>(Baseline_SPEC × Baseline_Time) = (Target_SPEC × Target_Time)<\/P>((Baseline_SPEC × Baseline_Time) / Target_SPEC) = Target_Time<\/P>(36.875 × 259946 ms) / 53.75 = 178335 ms (po zaokrouhlení dolů na nejbližší sekundu)<\/P>(259946 ms - 178335 ms) / 259946 ms = 0.314<\/P>0.314 × 100 = 31.4%<\/P>Z tohoto odhadu byl starší hardware odhadnut jako o 31 % pomalejší než novější hardware. Toto je velmi blízko procentuální změně, která byla vypočítána na základě pozorovaných dob benchmarku.<\/U> <\/P>Budoucí hardware<\/H1>
<\/span>Architektury procesorů a rychlosti CPU se neustále zlepšují. Konečně<\/EM>, takový benchmark test (jak je nyní sestaven) může trvat jen minutu nebo desítky sekund (to je skvělý problém mít). V tomto bodě by mohla být do testu přidána složitost, aby se prodloužila doba běhu a lépe odpovídala nové technologii.<\/P>Mohli jste si všimnout, že poslední transakce v testu byla zakázána. Tento požadavek 1000 Point Buffer s vzdáleností 10000 metrů a jednotkou 9035 (International Meter Distance) trvá nějaký čas na výpočet (i na slušném hardwaru). Byl zakázán, aby se zkrátila doba běhu na rozumnou délku. Nicméně, pokud bude užitečné, může být povolen jako další výpočet v závislosti na rychlosti CPU nasazení, které vás zajímá.<\/P>Závěrečné myšlenky <\/H1>Jak bylo zmíněno v jiných komunitních článcích, neexistuje jedna služba nebo funkce, která by pokryla celou šíři a hloubku ArcGIS. Nicméně Geometry service je zdroj, který představuje část úžasného pole GIS a je snadný na práci. To z něj dělá dobrou volbu pro úsilí o benchmark testování.<\/P>Rychlá doba odezvy je všechno o rychlosti CPU, že?<\/H2>Pro tento Geometry benchmark test ano. Nicméně pro reálné služby není rychlost zpracování jediným faktorem.<\/P>Serverové hardwarové komponenty jako rychlost disku, dostupná paměť, rychlost sítě jsou další zdroje, které mohou zlepšit dobu odezvy (kromě rychlosti CPU). Společně mají všechny pozitivní vliv na uživatelský zážitek.<\/P>Tento benchmark se zaměřil na výkon CPU, protože je to velká část procesu požadavku klienta/odpovědi serveru, ale jak bylo právě zmíněno, není to jediný serverový zdroj při zohlednění dalších potenciálních služeb ArcGIS.<\/P>Co ostatní nástroje pro porovnání CPU?<\/H2>
<\/span>Existuje mnoho utilit, které mohou profilovat a testovat různé části serverového hardwaru pomocí celé řady cvičení. Tyto testy jsou skvělé a určitě přidávají hodnotu pro pochopení hardwaru. Opět neexistuje jeden test, který by reprezentoval vše ohledně GIS. Ale doufejme, že tento Geometry Benchmark Test Plan může být užitečným nástrojem v arzenálu analytika. <\/P>
<\/P>Ke stažení Apache JMeter Test Plan použité v tomto článku viz: geometry_functions_benchmark1.zip<\/A><\/STRONG> <\/P> <\/P>
<\/P>
<\/P>
Atribuce<\/STRONG><\/P>Zdroje:
File:Wikimedia_Foundation_Servers-8055_43.jpg<\/A><\/P>Popis: Rack-montované servery PowerEdge 11. generace<\/SPAN><\/P>Autor:
Victorgrigas<\/A> - Vlastní dílo<\/SPAN><\/P>Vytvořeno: 16. července 2012<\/SPAN><\/P>Nahráno: 20. července 2012<\/SPAN><\/P>Licence: CC BY-SA 3.0<\/A>, Odkaz<\/A> <\/P> <\/P>
Zdroje:
File:Cpu-processor.jpg<\/A><\/P>Popis:<\/P>
Autor:
Fx Mehdi<\/A> - Vlastní dílo<\/SPAN><\/P>Nahráno: 30. května 2019<\/SPAN>
Licence: Creative Commons Attribution-Share Alike 4.0 International