| Asetus | Yksikkö | Oletusarvo | Ajoaika* | Kuvaus | Säätövihje |
|---|---|---|---|---|---|
| formula.queue.maxage | t | 24 | Kyllä | Pisin mahdollinen (ei taattu) lausekejonon historiatietojen säilytysaika tunteina. Vain ajetut lausekkeet poistetaan. Tämän tekee kaavan puhdistustyö. | Järjestelmä säilyttää kaavajonotaulukon ajetut jonomerkinnät ajohistoriana. Historiatietoja käytetään ajosilmukoiden tarkistukseen ja tilastotietojen luontiin. Jos tilastotiedot eivät ole tarpeen, lukua voi pienentää suuren suorituskyvyn asennuksissa, jotta taulukko pysyy pienenä. Älä koskaan käytä arvoa nolla, sillä asianmukainen silmukkatarkistus edellyttää vähintään tunnin historiatietoja. |
| formula.queue.maxsize | merkinnät | 500 000 | Kyllä | Lausekejonon merkintöjen haluttu enimmäismäärä. Puhdistustyö yrittää pitää merkintöjen määrän tätä lukua pienempänä poistamalla historiatietoja. Vain ajetut lausekkeet poistetaan. Tämä ohittaa formula.queue.maxage-asetuksen. | Tätä lukua voi pienentää, jotta kaavajono pysyisi pienenä suuren kuormituksen aikana. Historiatiedot voidaan tallentaa muulla tavoin. Hyvä ohje tätä lukua varten on pitää se hieman pienempänä kuin keskimääräinen suorituskyky formula.queue.maxage-ajanjakson aikana. |
| formula.execution.batch.size | merkinnät | 30 | Kyllä | Niiden lausekejonon merkintöjen määrä, jotka varataan yhdelle säikeelle kunkin varausajon yhteydessä. Merkinnät merkitään aloitetuiksi. Säie ajaa ne valmiiksi ennen uuden erän varausta. | Tämä asetus on tärkeä. Taustatietoja: Lausekkeet ajetaan samanaikaisesti useissa säikeissä ja solmuissa ilman tiettyä järjestystä, mutta aina riippuvuudet huomioon ottavassa aikajärjestyksessä. Jos esimerkiksi kaksi jonon lauseketta eivät liity toisiinsa, ne voidaan ajaa eri järjestyksessä kuin ne on lisätty. Näin lausekemerkintää ei voi ajaa, jos sitä edeltää ajamattomia saman merkinnän ilmentymiä tai merkintöjä, joiden mukaan sen arvo määräytyy. Tämä ja samanaikaisuus edellyttävät varauksia törmäysten, väärän järjestyksen ja päällekkäisen työn välttämiseksi. Koska varaus on erittäin kuormittavaa, useita lausekkeita varataan yhdessä edellä esitetyn vaatimuksen mukaisesti sekä sillä ehdolla, että ne ajetaan tietyssä järjestyksessä. Jos varattavia lausekkeita on paljon, ylimääräiset varaukset tallentuvat, mutta tämä estää samanaikaisuuden ja päinvastoin. Yleissääntönä on pitää määrä pienenä, jos lausekkeet muodostavat pitkiä riippuvuusketjuja, ja suurena, jos ketjut ovat lyhyitä tai riippuvuuksia on vähän. Voit muuttaa tätä arvoa ajon aikana ja säätää sitä, kunnes löydät optimaalisen arvon. Arvot, jotka ovat pienempiä kuin 10 tai suurempia kuin 200, ovat harvoin optimaalisia. |
| formula.cleanup.interval | millisekunnit | 1 800 000 | Ei | Lausekejonon puhdistustiheys. Tässä käytetään maxage- ja maxsize-asetusta. Tavallisesti järjestelmä tekee ainoastaan jonon karsintaa. Ensimmäinen puhdistus toteutuu palvelimen aloituksen yhteydessä, jolloin tehdään erityisiä ylläpitotoimia. Kahden viikon välein suoritetaan myös ajastettu lausekkeiden yhtenäisyystarkistus (yöllä). | Useimmiten oletusarvo on kohtuullinen. Jos siirtonopeus on suuri, puhdistus kestää kauemmin, mutta se on suoritettava useammin, ja päinvastoin. Varo pidentämästä tätä aikaa liian paljon, koska siitä voi aiheutua suorituskatkoja tai suorituskyvyn heikkenemistä, jos kuormitus kasvaa yhtäkkiä merkittävästi (esimerkiksi tuonnin tai määritteen lisäyksen jälkeen). |
| formula.background.interval | millisekunnit | 10 000 | Ei | Lausekejonon tarkistustiheys uusien varaamattomien lausekkeiden ajoa varten. Kun erä on käsitelty, uusi tarkistus suoritetaan heti odottamatta aikaväliä. Jos jono sisältää laskemattomia merkintöjä, kun seuraava aikaväli saavutetaan, ohjelma lisää tehoa luomalla uuden työsäikeen. | Rational Focal Point -ohjelman aiemmissa versioissa suoritus tapahtui heti asynkronisesti. Kun lausekkeet siirtyivät tietokantaan, tämä ei enää onnistunut ilman lukkiutumien riskiä. Tämä on aikaväli, jolla lausekejono tarkistetaan uusien lausekkeiden ajoa varten, eli enimmäisaika (johon lisätään suoritusaika), jonka verran käyttäjän on odotettava (lue: päivitettävä) lausekkeen ajoa. Laskemattomien jonomerkintöjen kysely ei ole kuormittavaa, jos merkintöjä ei ole, ja aikaa voi tällöin kulua vähän. Jos aikaväli on liian lyhyt, resursseja kuitenkin kuluu tarpeettomasti. Sama vaikuttaa myös samanaikaisiin ajoihin. Jos edellisellä aikavälillä aloitettua työsäiettä ei saada valmiiksi aikavälillä, alkaa myös toinen säie (kohteeseen thread.per.nodes). Jos ajo on liian hidasta tai jos hitaammat arvioinnin käsittelyajat ovat tarpeen, voit pienentää tätä lukua. Jos lausekkeita käytetään harvoin, voit suurentaa sitä hieman. |
| formula.max.background.threads.per.node | määrä | 2 | Ei | Kussakin solmussa lausekkeita ajavien samanaikaisten säikeiden enimmäismäärä. Todellinen enimmäismäärä määräytyy dynaamisesti sen mukaan, onko sovelluksen säievarannossa vapaita säikeitä. | Kohdassa background.interval kuvattu samanaikainen ajo lisää lausekkeiden laskentasäikeiden määrää solmussa kullakin aikavälillä, jos työtä on jäljellä. Tämä edellyttää sitä, että sovelluksen säievarannossa on vapaita säikeitä. Varannossa olevien suoritinytimien (näennäisten tai fyysisten) määrä säätyy automaattisesti. Se myös määritetään niin, että varannon viimeistä säiettä ei kuluteta. Voit etsiä soveltuvaa lukua kokeilemalla. Suorituskyvyn parantuminen ei ole kuitenkaan varmaa, koska se määräytyy pitkälti sen samanaikaisuuden mukaan, jota tietokanta pystyy pitämään yllä. Jos arvo on liian pieni, jonossa on useimmiten laskemattomia lausekkeita ja tietokannan kuormitus on vähäinen. |
| formula.cleanup.enabled | totuusarvo | true | Kyllä | Lausekejonon puhdistus on oletusarvon mukaan käytössä. Sitä ei saa koskaan poistaa käytöstä, ellei kyseessä ole vianmääritys tai suorituskyvyn mittaus, jolloin puhdistus on estettävä säännöillä. | Tähän asetukseen ei liity säätötoimia. Älä koskaan muuta sitä, vaan säilytä oletusarvo true. |
* Ajoaika ilmaisee, onko sovelluksen asetus voimassa ajon aikana (arvo Kyllä), vai ainoastaan käynnistyksen aikana (arvo Ei).