Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Az alkalmazásméretekhez (DATAS) való dinamikus alkalmazkodás a GC-hez az alkalmazásmemória követelményeihez való alkalmazkodást célozza. Ez azt jelenti, hogy az alkalmazás halomméretének nagyjából arányosnak kell lennie a hosszú élettartamú adatok méretével. Ha az alkalmazás ugyanazt a munkát végzi, amikor különböző specifikációjú gépeken fut, a halom mérete azonos vagy hasonló. Ha pedig a számítási feladat könnyebbé vagy nehezebbé válik, a halom mérete ennek megfelelően van beállítva.
Ezzel szemben a kiszolgálói GC mód célja az átviteli sebesség javítása, és a folyamatot a gépen uralkodóként kezeli. A következő GC aktiválása előtt engedélyezett foglalások mennyisége az átviteli sebességen alapul, nem az alkalmazás méretén. A halom agresszívan nőhet, ha szükséges, és memória áll rendelkezésre. Ez a növekedés nagyon eltérő halomméreteket eredményezhet, ha a folyamatot különböző hardveres specifikációkkal rendelkező gépeken futtatja. A halom sokkal nagyobb lehet, ha a folyamatot sokkal több maggal és több memóriával rendelkező gépre helyezi át. A kiszolgálói GC nem feltétlenül állítja be agresszíven a halom halomát, ha a számítási feladat sokkal könnyebbé válik.
A DATAS leginkább olyan "kipukkasztott" számítási feladatokban segít, ahol a halomméretet a számítási feladat igényének megfelelően kell módosítani, különösen a kereslet csökkenésével. Ez különösen fontos a memóriakorlátozott környezetekben, ahol fontos, hogy több folyamat is elférjen, amikor egyes folyamatok számítási feladatai felvilágosulnak. A kapacitástervezésben is segít. A DATAS a .NET 8-ban lett bevezetve, és alapértelmezés szerint engedélyezve van a .NET 9-ben.
Funkció leírása
Az alkalmazás méretének kiigazítása és az ésszerű teljesítmény fenntartása érdekében a DATAS a következőket teszi:
- A hosszú élettartamú adatméret alapján beállítja a következő GC aktiválása előtt engedélyezett foglalások maximális mennyiségét. Ez segít a halom méretének korlátozásában.
- Beállítja az átviteli sebesség alapján engedélyezett foglalások tényleges mennyiségét.
- Szükség esetén módosítja a halmok számát. Ez egy halommal kezdődik, ami azt jelenti, hogy ha sok szál van lefoglalva, néhánynak várnia kell. Ez negatívan befolyásolja az átviteli sebességet. A DATAS igény szerint növeli és csökkenti a halom számát. Ily módon hibrid a meglévő GC-módok között, amely legfeljebb egy halom (például munkaállomás-GC) és a gépmagok számával (például kiszolgálói GC) egyezik.
- Szükség esetén teljes tömörítést végez, hogy megakadályozza a töredezettség túl magasodását, ami segít a halom méretének korlátozásában is.
Teljesítményteszt eredményei
Az alábbi képeken a TechEmpower JSON és a Fortunes Benchmarks teljesítménymutatóinak eredményei láthatók. Figyelje meg, hogy jelentősen csökken a munkakészlet, amikor linuxos 48 magos gépen futtatja a teljesítményteszteket. A maximális átviteli sebesség (az RPS-ben mérve) 2–3%-os csökkenést mutat, de a munkakészlet 80%-os javulást mutat.

Ha a DATAS engedélyezve van, a Gen0 és Gen1 GCs száma jelentősen magasabb.

A DATAS letiltása
Ha az átviteli sebesség csökkenését tapasztalja, különböző beállításokkal letilthatja a DATAS-t. További információt az alkalmazásméretekhez (DATAS) való dinamikus alkalmazkodás című témakörben talál.