Požadavek test-performance
Účel a dopady
Spustí sadu výkonnostních testů serveru (CPU, práce s aktuální i historickou databází, práce se soubory ve webovém sídle a ve výchozím souborovém úložišti) a vrátí naměřené hodnoty. Vedlejší účinky: dočasně vytváří a následně maže testovací soubory ve webovém sídle a ve výchozím souborovém úložišti; je-li to-db="true", navíc zapíše naměřené hodnoty do databáze uloženou procedurou.
Dostupnost, kontext, oprávnění apod.
Smí použít jen uživatel s r_admin (na rozdíl od ostatních požadavků skupiny admin zde r_manage nestačí); jinak je požadavek zamítnut.
XML požadavek (syntax + popis)
<request>
<test-performance
to-db="{bool}"
/>
</request>
Parametry a pravidla (atributy, potomci)
to-db- Zapsat výsledek do databáze - Je-li"true", naměřené výsledky se navíc zapíší do databáze uloženou procedurou. (typ:bool; nepovinný; výchozí:false)
Požadavek nemá žádné potomky.
Příklady požadavku
(Zatím bez ověřeného příkladu.)
Zpracování a vedlejší účinky
Server provádí zpracování v tomto pořadí; selhání dřívějšího kroku ukončí zpracování dalších kroků:
- CPU test – spustí se počet paralelních vláken určený konfigurací serveru, ne automaticky zjištěný počet fyzických jader. Měří alokaci paměti, generování náhodných čísel, celočíselné operace, zápis do paměti, hash a uvolnění paměti; výsledky se zprůměrují.
- Databázový test – změří se čtení/zápis/mazání proti aktuální i historické (archivní) databázi. Selže-li tento krok, odpověď obsahuje otevřenou/uzavřenou značku
<test-performance status="error" detail="Doslo k databazove chybe">…</test-performance>s vnořeným diagnostickým error. - Test disku – webové sídlo a výchozí souborové úložiště – zapíše, přečte a smaže jeden „velký“ testovací soubor a víc „malých“ testovacích souborů zvlášť ve webovém sídle a zvlášť ve výchozím souborovém úložišti. Otevřený bod: selže-li kterýkoli z těchto diskových testů, funkce se vrátí s neúspěchem, aniž by do odpovědi cokoli zapsala navíc – protože kořenová značka
<test-performance status="už byla otevřena před databázovým testem a při tomto konkrétním selhání se nikdy neuzavře ani nedokončí hodnota atributustatus, vzniká neplatné/neukončené XML. Nepodařilo se ověřit, zda je to záměr, nebo přehlédnutá chyba. - Volitelný zápis do databáze (
to-db="true") – naměřené hodnoty se uloží do databáze. Selže-li zápis, vzniká otevřená/uzavřená značka s vnořeným diagnostickýmerrorobdobně jako u kroku 2, jen s textem"Doslo k databazove chybe pri zapisu". Jiná databázová chyba vede k samostatné sebeuzavírací chybové značce s textem"Doslo k databazove chybe behem zapisu", bez vnořenéhoerror.
XML odpověď (syntax + popis)
<response>
<test-performance
status="ok"
cpu-no="{number}"
alloc="{number}"
rand="{number}"
int-cpu="{number}"
mem-write="{number}"
hash="{number}"
dealloc="{number}"
act-read="{number}"
act-write="{number}"
act-del="{number}"
hist-read="{number}"
hist-write="{number}"
hist-del="{number}"
web-read="{number}"
web-write="{number}"
web-del="{number}"
files-read="{number}"
files-write="{number}"
files-del="{number}"
web-small-read="{number}"
web-small-write="{number}"
web-small-del="{number}"
files-small-read="{number}"
files-small-write="{number}"
files-small-del="{number}"
/>
</response>
Parametry a pravidla (atributy, potomci) – odpověď
Všech 24 měřicích atributů se v úspěšné odpovědi zapisuje vždy společně, v pořadí jako v bloku syntaxe výše: cpu-no, alloc, rand, int-cpu, mem-write, hash, dealloc (CPU test); act-read/write/del (aktuální databáze); hist-read/write/del (historická databáze); web-read/write/del a files-read/write/del (jeden velký soubor ve webovém sídle, respektive ve výchozím úložišti); web-small-* a files-small-* (součet přes víc malých souborů ve stejných dvou úložištích). U operací mem-write, act-read, act-write, hist-read, hist-write, files-read, files-write, web-small-read, web-small-write, files-small-read, files-small-write je vždy zapsáno srovnatelné množství dat, hodnoty lze tedy částečně srovnávat mezi sebou.
Příklady odpovědi
(Zatím bez ověřeného příkladu.)
Chyby a reakce
<test-performance status="error" detail="Nemate patricna opravneni"/>– volající nemár_admin.<test-performance status="error" detail="Pripojeni k databazi se nezdarilo"/>– selhalo připojení k aktuální nebo archivní databázi.<test-performance status="error" detail="Doslo k databazove chybe">+ vnořenýerror+</test-performance>– selhal databázový test čtení/zápisu/mazání.<test-performance status="error" detail="Doslo k databazove chybe pri zapisu">+ vnořenýerror+</test-performance>– selhal zápis výsledků do databáze (to-db="true").<test-performance status="error" detail="Doslo k databazove chybe behem zapisu"/>– uložená procedura pro zápis výsledků vrátila chybový výstupní parametr.- Selhání diskového testu (krok 3 výše) negeneruje žádnou z výše uvedených značek – viz otevřený bod v sekci „Zpracování a vedlejší účinky“.
- Na rozdíl od staré dokumentace je jméno atributu s výsledkem
status, netype. Výraz pro identifikaci chyb v odpovědi serveru:test-performance[@status='error'].
Související požadavky
- do-manage – umožňuje opakované/plánované spouštění operací na serveru, včetně měření výkonu.