| Beállítás | Egység | Alapértelmezés | Futási idő* | Leírás | Hangolási tipp |
|---|---|---|---|---|---|
| formula.queue.maxage | óra | 24 | Igen | Az órák maximális (nem garantált) száma, ameddig a kifejezés sor előzmény megtartásra kerül. Csak a futtatott kifejezések kerülnek eltávolításra. Erről a képlet eltávolítási job gondoskodik. | A képletsor táblában a futtatott sorbejegyzések végrehajtási előzményként megtartásra kerülnek. Ezzel az ellőzménnyel lehet a végrehajtási ciklusokat ellenőrizni és statisztikákat előállítani. Ha nincs szükség statisztikára, akkor ez a szám csökkenthető nagyléptékű beállítással, hogy a táblaméret alacsony maradjon. Soha ne állítsa nulla értékűre, mivel a megfelelő ciklusellenőrzés legalább egy órányi előzményt igényel. |
| formula.queue.maxsize | bejegyzések | 500000 | Igen | A kifejezés sorban lévő bejegyzések kívánt maximális száma. A takarítási job megpróbálja a bejegyzések számát az itt megadott szám alatt tartani az előzmények kiürítésével. Csak a futtatott kifejezések kerülnek eltávolításra. Ez felülírja a formula.queue.maxage beállítást. | Ez a szám csökkenthető a képletsor méretének alacsonyan tartásához a nagyterhelésű időszakokban, másfelől pedig az előzmények mentéséhez. Jó közelítés lehet erre a számra, ha egy kicsit a formula.queue.maxage időszak átlagos áteresztőképessége alatt tartja. |
| formula.execution.batch.size | bejegyzések | 30 | Igen | A kifejezés sor bejegyzések száma, amelyek lefoglalásra kerülnek egy szálhoz az egyes lefoglalási futtatásoknál. Ezek a bejegyzések "indított" jelölést kapnak. A szál végigszalad ezeken, és végrehajtja őket egy új köteg kiosztása előtt. | Ez fontos beállítás. Háttérinformációk: A kifejezések párhuzamosan kerülnek végrehajtásra, számos csomópont számos szálán egyidejűleg, de minden esetben függőségtudatos időrendben. Például ha a sorban két kifejezés nem kapcsolódik, akkor ezek a hozzáadásuk sorrendjétől eltérő sorrendben is futtathatók. Ebből kifolyólag a kifejezés bejegyzések nem hajthatók végre, ha ezek annak példányai, illetve a bejegyzések, melyek értékétől függ, nem lettek végrehajtva előtte. Ez és a párhuzamosság megköveteli a lefoglalást az ütközések, a rossz sorrend és a redundáns munka elkerülése érdekében. Mivel a lefoglalás drága művelet, számos kifejezés együtt kerül lefoglalásra a fenti követelményekkel és azzal a feltétellel, mellyel adott sorrendben végrehajtásra kerültek. Ha sok kifejezés kerül lefoglalásra, akkor a lefoglalási többletterhelés mentésre kerül, de ez "zárolja" a párhuzamosságot (és fordítva). Az általános szabály, hogy ez a szám maradjon kicsi, ha a kifejezések hosszú függőségi láncot alkotnak, és növelhető, ha a láncok rövidek vagy kevés függőség létezik. Ez az érték futás közben módosítható, ezért addig kell hangolnia, amíg megtalál egy elfogadható optimumot. A 10-nél kisebb és 200-nál nagyobb értékek csak ritkán optimálisak. |
| formula.cleanup.interval | ezredmásodperc | 1800000 | Nem | A kifejezés sor tisztításának gyakorisága. A maxage és maxsize itt kerül kikényszerítésre. Rendes körülmények között csak sortisztítás valósul meg. Az első tisztítás a kiszolgáló elindításakor történik, amikor speciális karbantartás kerül végrehajtásra. Ezenkívül két hetente egy időzítő kifejezés integritási ellenőrzés is végrehajtásra kerül (éjszaka). | A legtöbbször az alapértelmezés elfogadható. Magas áteresztőképesség esetén a tisztítás több időt vesz igénybe, de gyakrabban kell elvégezni (és fordítva). Legyen óvatos az idő túlzott növelésével, mert ez végrehajtási kieséseket vagy rossz teljesítményt eredményezhet, ha a terhelés hirtelen jelentősen megemelkedik (például egy importálás vagy egy attribútum hozzáadása után). |
| formula.background.interval | ezredmásodperc | 10000 | Nem | Annak gyakorisága, hogy a rendszer milyen gyakran keres új, nem lefoglalt kifejezéseket a futtatáshoz a kifejezés soron. Amikor egy köteg befejeződik, azonnal végrehajtásra kerül egy új ellenőrzés anélkül, hogy kivárná az időtartamot. Ha a sor még mindig tartalmaz kiértékeletlen bejegyzéseket a következő időköz jelentkezésekor, akkor egy új dolgozó szál kerül elindításra az erőfeszítések növeléséhez. | A Rational Focal Point korábbi változataiban a végrehajtás aszinkron és azonnali volt. Amikor a kifejezések áthelyezésre kerültek az adatbázisba, ez már nem volt lehetséges a holtpontok kockázata nélkül. Ez az időköz az, amilyen gyakran a kifejezés soron megkeresésre kerülnek az új futtatandó kifejezések, vagyis a maximális idő (a futtatás idejével együtt), ameddig a felhasználónak várnia kell (ez a frissítés) egy kifejezés futtatására. A kiértékeletlen kifejezések lekérdezése nem drága, ha nincsenek, vagyis az idő rövid lehet. Ha viszont az időköz túl kicsi, akkor feleslegesen fogyasztja az erőforrásokat. Ez befolyásolja a párhuzamosság növekedését. Ha az előző időtartamban elindított dolgozó szál nem fejeződik be az időtartamon belül, akkor egy másik szál elindításra kerül (a szálak/csomópont értékig). Ha a növekedés túl lassú, vagy ha alacsonyabb kiértékelési várakozási idő szükséges, akkor csökkentheti ezt a számot. Ha a kifejezések ritkán kerülnek felhasználásra, akkor kissé növelheti a számot. |
| formula.max.background.threads.per.node | darab | 2 | Nem | A párhuzamos szálak maximális száma, amelyek kifejezéseket futtatnak az egyes csomópontokhoz. A tényleges maximális szám dinamikusan függ attól, hogy vannak-e szabad szálak az alkalmazás szálkészletében. | A background.interval elemben leírt párhuzamosság fokozás növeli a kifejezés kiértékelési szálak számát a csomóponton minden egyes időköznél, ha további elvégzendő munkák vannak. Ez szabad szálakat igényel az alkalmazás szálkészletében, amely automatikusan hangolásra kerül a CPU magok (virtuális vagy fizikai) számát figyelembe véve. Ezenkívül korlátozva van, hogy ne használja fel a készletben lévő utolsó szálat. Kísérletezhet ezzel a számmal. A jobb teljesítmény azonban nem garantált, mivel az nagyban függ az adatbázis párhuzamossági képességétől. Ha ez a szám túl kicsi, annak az a jele, hogy a soron a legtöbbször kiértékeletlen kifejezések vannak, és hogy az adatbázis terhelés túl alacsony. |
| formula.cleanup.enabled | logikai | true | Igen | A kifejezés sor tisztítása alapértelmezésben engedélyezett. Ezt sose szabad letiltani, kivéve hibakeresési célokból vagy teljesítménymérés futtatásakor, ahol a tisztítást ki kell törölni. | Ehhez a beállításhoz nem szükséges hangolás. Soha ne módosítsa. Tartsa meg az alapértelmezett "true" értéket. |
* Futási azt jelzi, hogy az alkalmazás beállítása futás során (Yes érték) vagy csak indítás során (No érték) érvényesül.