Szálkészletek beállítása Java webszerverekhez
1. Bemutatkozás
Ebben az oktatóanyagban áttekintjük a Java webalkalmazások, például az Apache Tomcat, a Glassfish Server és az Oracle Weblogic szálkészlet-konfigurációit.
2. Szerver szálkészletek
A szerver szálkészleteket egy webalkalmazás-kiszolgáló használja és kezeli egy telepített alkalmazáshoz. Ezek a szálkészletek a webes tárolón vagy szervleten kívül léteznek, így nem vonatkoznak rájuk ugyanazon kontextushatárok.
Az alkalmazásszálaktól eltérően a kiszolgálói szálak a telepített alkalmazás leállítása után is léteznek.
3. Apache Tomcat
Először konfigurálhatjuk Tomcat szerver szálkészletét a Végrehajtó konfigurációs osztály a mi server.xml:
minSpareThreads a legkisebb a medence, beleértve az indítást is. maxThreads a legnagyobb a medence lesz mielőtt a szerver megkezdi a kérelmek sorba állítását.
A Tomcat ezeket alapértelmezés szerint 25, illetve 200 értékre állítja be. Ebben a konfigurációban a szálkészletet kissé kisebbre tettük, mint az alapértelmezett.
3.1. Beágyazott Tomcat
Hasonlóképpen módosíthatunk egy beágyazott Tomcat szervert a Spring Boot számára egy szálkészlet konfigurálásához egy alkalmazás tulajdonságának beállításával:
server.tomcat.max-threads = 250
A Boot 2.3-tól kezdődően a tulajdonság a következőre változott:
server.tomcat.threads.max = 250
4. Üveghal
Ezután frissítsük a Glassfish szervert.
A Glassfish egy admin parancsot használ, ellentétben a Tomcat XML konfigurációs fájljával, server.xml. A parancssorból futtatjuk:
create-threadpool
Hozzáadhatjuk create-threadpool a zászlók maxthreadpoolsize és menthreadpoolsize. Tomcathoz hasonlóan működnek minSpareThreads és maxThreads:
--maxthreadpoolsize 250 - minthreadpoolsize 25
Megadhatjuk azt is, hogy egy szál meddig lehet tétlen, mielőtt visszatérne a készletbe:
--idletimeout = 2
Ezután a végén megadjuk a szálkészletünk nevét:
asadmin> create-threadpool --maxthreadpoolsize 250 --minthreadpoolsize 25 --idletimeout = 2 threadpool-1
5. Weblogic
Az Oracle Weblogic lehetőséget nyújt arra, hogy megváltoztassuk az önhangoló szálkészletet a WorkManagerrel.
A szálsorokhoz hasonlóan a WorkManager is egy szálkészletet kezel sorként. A WorkManager azonban dinamikus szálakat ad hozzá, valós idejű átviteli sebesség alapján. A Weblogic rendszeresen elemzi az áteresztőképességet a szálak kihasználásának optimalizálása érdekében.
Mit jelent ez számunkra? Ez azt jelenti, hogy bár módosíthatjuk a szálkészletet, a webszerver végül eldönti, hogy új szálakat hoz létre.
Konfigurálhatjuk a szálkészletünket a Weblogic Felügyeleti Konzolban:

A. Frissítése Önhangolás A szál minimális mérete és Önhangoló szál maximális medenceméret Az értékek megadják a min és max határokat a WorkManagers számára.
Figyelje meg a Beragadt menet maximális ideje és Beragadt szál időzítő intervallum értékek. Ezek segítenek a WorkManager osztályozásában az elakadt szálak.
Előfordulhat, hogy egy régóta tartó folyamat elakadt szálak felhalmozódását okozhatja. A kompenzáció érdekében a WorkManager új szálakat fog létrehozni a szálkészletből. Ezen értékek bármilyen frissítése meghosszabbíthatja a folyamat befejezésének idejét.
Az elakadt szálak a kódproblémákra utalhatnak, ezért mindig a megoldás az, hogy megoldást keressenek, és ne keressenek megoldást.
6. Következtetés
Ebben a rövid cikkben az alkalmazáskiszolgáló szálkészleteinek többféle beállítását vizsgáltuk.
Noha vannak különbségek abban, hogy az alkalmazáskiszolgálók hogyan kezelik a különféle szálkészleteket, hasonló fogalmakkal vannak konfigurálva.
Végül emlékezzünk arra, hogy a webkiszolgálók konfigurációs értékeinek megváltoztatása nem megfelelő javítás a gyengén teljesítő kódokhoz és a rossz alkalmazástervekhez.