Přejít na obsah
Skip to main content

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ů:

  1. 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í.
  2. 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.
  3. 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 atributu status, vzniká neplatné/neukončené XML. Nepodařilo se ověřit, zda je to záměr, nebo přehlédnutá chyba.
  4. 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ým error obdobně 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ého error.

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, ne type. 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.