Létezik egy sor teljesítmény-javító technika az OTRS telepítéséhez, beleértve a beállítást, a kódolást, a memóriahasználatot és egyebeket.
Jegykeresési index
Az OTRS egy különleges keresési indexet használ a szabad-szavas keresések végrehajtásához a különböző kommunikációs csatornákból érkező bejegyzések mezőiben.
Egy kezdeti index létrehozásához használja ezt a parancsot:
otrs> /opt/otrs/bin/otrs.Console.pl Maint::Ticket::FulltextIndex --rebuild
Megjegyzés
A tényleges bejegyzésindexelés egy OTRS démonfeladaton keresztül történik a háttérben. Mivel a rendszerhez éppen hozzáadott bejegyzések azonnal meg lesznek jelölve indexelésre, így megtörténhet, hogy az indexük néhány percen belül elérhető lesz.
Elérhető néhány beállítás a keresési index finomhangolásához:
Ticket::SearchIndex::Attribute
-
Alapvető szabad-szavas index beállítások.
Megjegyzés
Futtassa a következő parancsot egy új index előállításának érdekében:
otrs> /opt/otrs/bin/otrs.Console.pl Maint::Ticket::FulltextIndexRebuild
WordCountMax
-
Meghatározza azon szavak legnagyobb számát, amelyek feldolgozásra kerülnek az index felépítéséhez. Például egy bejegyzés törzsének csak az első 1000 szava legyen eltárolva a bejegyzés keresési indexében.
WordLengthMin
ésWordLengthMax
-
Szóhossz határokként vannak használva. Csak azok a szavak vannak eltárolva a bejegyzés keresési indexében, amelyek hossza ezen két érték közé esik.
Ticket::SearchIndex::Filters
-
Szabad-szavas index reguláris kifejezés szűrők a szöveg részeinek eltávolításához.
Három alapértelmezett szűrő van meghatározva:
-
Az első szűrő eltávolítja a különleges karaktereket, mint például: , & < > ? „ ! * | ; [ ] ( ) + $ ^ =
-
A második szűrő eltávolítja azokat a szavakat, amelyek a következő karakterek egyikével kezdődnek vagy végződnek: « : .
-
A harmadik szűrő eltávolítja azokat a szavakat, amelyek nem tartalmaznak egy szókaraktert: a-z, A-Z, 0-9, _
-
Ticket::SearchIndex::StopWords
-
Angol kiszűrendő szavak a szabad-szavas indexnél. Ezek a szavak el lesznek távolítva a keresési indexből.
Úgynevezett kiszűrendő szavak vannak meghatározva néhány nyelvnél. Ezek a kiszűrendő szavak ki lesznek hagyva a keresési index létrehozásakor.
Lásd még
Ha az Ön nyelve nincs benne a rendszerbeállítási lehetőségekben vagy több szót szeretne hozzáadni, akkor hozzáadhatja azokat ehhez a beállításhoz:
-
Ticket::SearchIndex::StopWords###Custom
-
Dokumentumkeresés
Az OTRS az Elasticsearch programot használja a dokumentumkeresési funkcionalitásához. Az Elasticsearch elgondolásának, telepítésének és használatának jó bemutatásához nézze meg a Quick start fejezetet a hivatalos dokumentációban.
Memóriakupac mérete
Az Elasticsearch Java nyelven íródott, és emiatt egy Java virtuális gépen (JVM-en) fut az összes fürtcsomópont. Egy ilyen virtuális gép használja a memória egy részét, az úgynevezett memóriakupacot, amely mérete a jvm.options
beállítófájlban állítható be.
A memóriakupac legkisebb és legnagyobb beállításai alapértelmezetten 1 GB méretűre vannak állítva, és a következő beállításokkal módosíthatók:
-
Xms1g
: a legkisebb memóriakupac-méret. -
Xmx1g
: a legnagyobb memóriakupac-méret.
Ha az Xms
alacsonyabb értékkel rendelkezik mint az Xmx
, akkor a Java virtuális gép átméretezi a használt memóriakupacot minden esetben, amikor az aktuális korlátot eléri, egészen az Xmx
értékének eléréséig. Egy ilyen átméretezés annak befejezéséig a szolgáltatás szüneteltetését okozza, ami csökkentheti a keresési vagy indexelési műveletek sebességét és válaszképességét. Emiatt erősen ajánlott azokat a beállításokat egyenlő értékre állítani.
Figyelem
Ha a legnagyobb memóriakupac-méretet elérte, akkor a hozzá tartozó fürtcsomópont nem működik tovább, és akár a szolgáltatást is leállíthatja.
Minél magasabb értékre van állítva a memóriakupac legnagyobb mérete, annál több memóriát használhat az Elasticsearch, ami szintén növeli a szüneteltetés lehetőségét a Java virtuális gép által végrehajtott szemétgyűjtésnél. Emiatt ajánlott az Xmx
beállításhoz olyan értéket megadni, amely nem nagyobb a fizikai memória 50%-ánál.
További információkért és a memóriakupac méretével kapcsolatos jó ökölszabályért nézze meg a memóriakupac beállítása fejezetet a hivatalos dokumentációban.
Lemezlefoglalás
A szolgáltatás futási ideje során az Elasticsearch megvizsgálja az elérhető lemezterületet, és az alapján dönti el, hogy lefoglaljon-e új darabokat a hozzá tartozó fürtcsomóponton, vagy akár áthelyezze-e a darabokat arról a bizonyos csomópontról. Ezt a viselkedést az aktuális lemezkapacitás fogja vezérelni, és az elasticsearch.yml
beállítófájlban állítható be. Tartalmaz néhány fontos beállítást, amelyek jó alapértelmezett értékekkel érkeznek, de mégis fontosak lehetnek:
cluster.routing.allocation.disk.watermark.low
-
Az alapértelmezett érték 85%. Ha a korlátot elérik, akkor az Elasticsearch nem fog több darabot lefoglalni a hozzá tartozó fürtcsomóponthoz. A csomópont működését nem befolyásolja, és az adatok továbbra is indexelhetők és kereshetők.
cluster.routing.allocation.disk.watermark.high
-
Az alapértelmezett érték 90%. Ha ezt a korlátot elérik, akkor az Elasticsearch megpróbálja majd áthelyezni a meglévő darabokat egy másik olyan csomópontra (ha lehetséges), amelynek van elegendő szabad területe.
cluster.routing.allocation.disk.watermark.flood_stage
-
Az alapértelmezett érték 95%. Ha ezt a korlátot elérik, akkor az Elasticsearch frissíteni fogja az összes olyan index beállítását csak olvasható
index.blocks.read_only_allow_delete
indexblokkokra, amely legalább egy lefoglalt darabbal rendelkezik a hozzá tartozó fürtcsomóponthoz. Ettől fogva nem lehetséges az új adatok indexelése az ilyen indexekbe, valamint keresésekre és törlési műveletre lesz korlátozva.
Megjegyzés
Ha az elárasztási szakaszt elérték, és bizonyos indexek csak olvasható módra vannak állítva, akkor az ilyen beállítást nem fogja automatikusan megváltoztatni az Elasticsearch. Ha a hozzá tartó lemezek újra elegendő szabad területet tartalmaznak, akkor a kézi műveletek miatt kézzel kell visszaváltoztatni a beállításokat normál módra.
A lemezvízjelekkel és a lemezalapú darablefoglalással kapcsolatos további információkért nézze meg a lemezalapú darablefoglalás fejezetet a hivatalos dokumentációban.
Bejegyzéstárolás
Három különböző háttérprogram-modul létezik a telefonos, e-mail és belső bejegyzések bejegyzéstárolásához. A használt bejegyzéstároló a Ticket::Article::Backend::MIMEBase::ArticleStorage
beállításban állítható be.
Kernel::System::Ticket::Article::Backend::MIMEBase::ArticleStorageDB
-
Ez az alapértelmezett modul a mellékleteket az adatbázisban fogja eltárolni. Működik több előtétprogramos kiszolgálókkal is, de több tárolóhelyet igényel az adatbázisban.
Megjegyzés
Ne használja ezt nagy rendszereknél.
Kernel::System::Ticket::Article::Backend::MIMEBase::ArticleStorageFS
-
Használja ezt a modult a mellékletek helyi fájlrendszeren történő tárolásához. Ez gyors, de ha több előtétprogramos kiszolgálói vannak, akkor meg kell győződnie arról, hogy a fájlrendszer meg van-e osztva a kiszolgálók között. Helyezze azt egy NFS megosztásra vagy inkább egy SAN vagy hasonló megoldásra.
Megjegyzés
Ajánlott nagy rendszereknél.
Kernel::System::Ticket::Article::Backend::MIMEBase::ArticleStorageAmazonS3
-
Használja ezt a modult a mellékletek bármilyen AWS S3 kompatibilis objektumtárolóban történő tárolásához.
Létezik egy alapértelmezett kapcsolat-beállítás az AWS S3 fájltárolóhoz a
Kernel/Config/Defaults.pm
fájlban. A környezete kapcsolatának aktiválásához hozzá kell adnia a következő kódrészletet aKernel/Config.pm
fájlhoz:$Self->{'Ticket::Article::Backend::MIMEBase::ArticleStorage'} = 'Kernel::System::Ticket::Article::Backend::MIMEBase::ArticleStorageAmazonS3'; $Self->{'Ticket::Article::Backend::MIMEBase::ArticleStorageAmazonS3'} = { 'Active' => 1, 'Endpoint' => 'http://127.0.0.1:9000', 'Region' => 'local', 'AwsAccessKey' => 'minioadmin', 'AwsSecretKey' => 'minioadmin', 'Bucket' => 'storage', 'TestBucket' => 'unit-test', 'HealthCheck' => '/minio/health/live', 'MaxObjectSize' => 1024 * 1024 * 20, 'Reconnect' => 2, 'BackoffOnFailure' => 1, 'BackoffRetryCount' => 150, };
Átkapcsolhat menet közben az egyik háttérprogramról a másikra. A háttérprogramot a rendszerbeállításokban kapcsolhatja át, és azután futtassa le ezt a parancssori segédprogramot a bejegyzések átrakásához az adatbázisból a fájlrendszerre vagy fordítva:
otrs> /opt/otrs/bin/otrs.Console.pl Admin::Article::StorageSwitch --target ArticleStorageFS
A --target
kapcsolót használhatja a cél háttérprogram megadásához.
Megjegyzés
A teljes folyamat futtatása számottevő ideig eltarthat a meglévő bejegyzések számától és az elérhető processzorteljesítménytől és/vagy hálózati kapacitástól függően.
Annak biztosításához, hogy a költözési folyamat során minden bejegyzéshez hozzáférése legyen, használhatja a Ticket::Article::Backend::MIMEBase::ArticleStorageBackendCheckOrder
rendszerbeállítási lehetőséget. Ez a beállítás további bejegyzéstároló háttérprogramokat ad meg a bejegyzések és mellékleteik ellenőrzéséhez. Ajánlott itt hozzáadni a régi bejegyzéstároló háttérprogramot.
A webkiszolgáló finomhangolása
Az OTRS beépített webkiszolgálója további beállítások nélkül képes kezelni a kicsi és közepes telepítéseket. Amikor az OTRS több felhasználót egyidejűleg szolgál ki, akkor szükséges lehet a webkiszolgáló beállításainak finomhangolása, például a munkavégző folyamatok számának növelése.
A webkiszolgáló beállítófájlja a Kernel/WebApp.conf
fájlban található, és az összes beállítás dokumentálva van. A worker
beállítás növelhető több folyamat üzembe állításához a HTTP-kérések kiszolgálásánál az erre alkalmas kiszolgálókon.
Gyorsítótárazás
Az OTRS rengeteg átmeneti adatot gyorsítótáraz az /opt/otrs/var/tmp
könyvtárban. Győződjön meg arról, hogy ez egy nagy teljesítményű fájlrendszert és tárolót használ-e. Ha elegendő RAM van a gépben, akkor megpróbálhatja ezt a könyvtárat egy memórialemezre áttenni ehhez hasonlóan:
otrs> /opt/otrs/bin/otrs.Console.pl Maint::Session::DeleteAll
otrs> /opt/otrs/bin/otrs.Console.pl Maint::Cache::Delete
root> mount -o size=16G -t tmpfs none /opt/otrs/var/tmp
Megjegyzés
Adjon meg állandó csatolási pontot az /etc/fstab
fájlban.
Figyelem
Ez egy nem állandó tároló lesz, amely el fog veszi a kiszolgáló újraindításakor. Az összes munkamenete (ha a fájlrendszeren tárolja azokat) és a gyorsítótárazott adatok el fognak veszni.
Fürtözés
Nagyon magas terhelésnél szükséges lehet az OTRS-t egy több előtétprogramos kiszolgálóból álló fürtön működtetni. Ez egy bonyolult feladat sok buktatóval. Emiatt az OTRS csoport kizárólagos támogatást biztosít a fürtökhöz a menedzselt OTRS környezetében.
Objektumok korlátai
Nincs műszaki korlátozása annak, hogy hány objektumot lehet használni a rendszerben, de nagyszámú objektum használata befolyásolhatja a rendszer teljesítményét. A javasolt korlátok csak azokra az objektumokra vonatkoznak, amelyek érvényes értékre vannak állítva. Az érvénytelen vagy átmenetileg érvénytelen objektumokat a rendszer nem használja.
Annak érdekében, hogy a rendszer gyors és reakcióképes maradjon, az érvényes objektumok következő korlátjait nem szabad túllépni:
-
Levelezőfiókok: 10
-
Levelezési szűrők: 50
-
ACL-ek: 80
-
Dinamikus mezők: 300
-
Legördülő vagy többválasztós dinamikus mező értékei mezőnként: 100
-
Szolgáltatások: 500
-
SLA-k: 50
-
Várólisták: 200
-
Konfigurációelem-osztályok: 20
-
Konfigurációelem-objektumok: 20 000
-
Folyamatok: 50
-
Általános ügyintézők: 30 (általános ügyintézőnként legfeljebb óránként egyszeri gyakorisággal)
-
Jegyállapotok: 20
-
Jegytípusok: 10
-
Időpontnaptárak: 50
-
Jegyenkénti bejegyzések: 500