Megosztás a következőn keresztül:


Kapacitástervezés Service Fabric-alkalmazásokhoz

Ez a dokumentum bemutatja, hogyan becsülheti meg az Azure Service Fabric-alkalmazások futtatásához szükséges erőforrások mennyiségét (CPU-k, RAM, lemeztárolók). Gyakran előfordul, hogy az erőforrás-követelmények idővel változnak. Általában kevés erőforrásra van szükség a szolgáltatás fejlesztése/tesztelése során, majd több erőforrásra van szükség az éles használat során, és az alkalmazás népszerűsége növekszik. Az alkalmazás tervezésekor gondolja át a hosszú távú követelményeket, és hozzon olyan döntéseket, amelyek lehetővé teszik, hogy a szolgáltatás méretezhető legyen a magas ügyféligénynek megfelelően.

Service Fabric-fürt létrehozásakor ön dönti el, hogy milyen típusú virtuális gépek alkotják a fürtöt. Minden virtuális gép korlátozott mennyiségű erőforrással rendelkezik processzorok (magok és sebesség), hálózati sávszélesség, RAM és lemeztároló formájában. Ahogy a szolgáltatás idővel növekszik, frissíthet olyan virtuális gépekre, amelyek nagyobb erőforrásokat kínálnak, és/vagy további virtuális gépeket adhat hozzá a fürthöz. Az utóbbihoz először a szolgáltatást kell létrehoznia, hogy kihasználhassa a fürthöz dinamikusan hozzáadott új virtuális gépek előnyeit.

Egyes szolgáltatások kevés adatot kezelnek magukon a virtuális gépeken. Ezért ezeknek a szolgáltatásoknak a kapacitástervezésének elsősorban a teljesítményre kell összpontosítania, ami azt jelenti, hogy kiválasztja a virtuális gépek megfelelő processzorait (magjait és sebességét). Emellett figyelembe kell vennie a hálózati sávszélességet, beleértve a hálózati átvitel gyakoriságát és az adatok átvitelének gyakoriságát. Ha a szolgáltatásnak jól kell teljesítenie a szolgáltatáshasználat növekedésével, további virtuális gépeket adhat hozzá a fürthöz, és terheléselosztást végezhet a hálózati kérések között az összes virtuális gépen.

A virtuális gépeken nagy mennyiségű adatot kezelő szolgáltatások esetében a kapacitástervezésnek elsősorban a méretre kell összpontosítania. Ezért alaposan meg kell fontolnia a virtuális gép RAM-jának és lemeztárolójának kapacitását. A Windows virtuális memóriakezelő rendszere úgy néz ki, mint a RAM az alkalmazás kódjában. Emellett a Service Fabric-futtatókörnyezet intelligens lapozást biztosít, amely csak a memóriában tárolt gyakori adatokat tárolja, és a ritka elérésű adatokat lemezre helyezi. Az alkalmazások így több memóriát használhatnak, mint amennyi fizikailag elérhető a virtuális gépen. A több RAM egyszerűen növeli a teljesítményt, mivel a virtuális gép több lemezterületet képes tárolni a RAM-ban. A kiválasztott virtuális gépnek elég nagy lemezzel kell rendelkeznie ahhoz, hogy a kívánt adatokat a virtuális gépen tárolja. Hasonlóképpen, a virtuális gépnek elegendő RAM-mal kell rendelkeznie ahhoz, hogy biztosítsa a kívánt teljesítményt. Ha a szolgáltatás adatai idővel növekednek, további virtuális gépeket adhat hozzá a fürthöz, és particionálhatja az adatokat az összes virtuális gépen.

Annak meghatározása, hogy hány csomópontra van szüksége

A szolgáltatás particionálása lehetővé teszi a szolgáltatás adatainak horizontális felskálázását. További információ a particionálásról: Particionálás Service Fabric. Minden partíciónak egyetlen virtuális gépen belül kell elférnie, de több (kis) partíció is elhelyezhető egyetlen virtuális gépen. Így a kisebb partíciók nagyobb rugalmasságot biztosítanak, mint néhány nagyobb partíció. A kompromisszum az, hogy sok partíció használata növeli a Service Fabric többletterhelését, és nem hajthat végre tranzakciós műveleteket a partíciók között. Akkor is nagyobb a hálózati forgalom, ha a szolgáltatáskódnak gyakran kell hozzáférnie a különböző partíciókban élő adatokhoz. A szolgáltatás tervezésekor gondosan vegye figyelembe ezeket az előnyöket és hátrányokat, hogy hatékony particionálási stratégiát érjen el.

Tegyük fel, hogy az alkalmazás egyetlen állapotalapú szolgáltatással rendelkezik, amelynek tárolómérete várhatóan egy év alatt DB_Size GB-ra nő. Ön hajlandó további alkalmazásokat (és partíciókat) hozzáadni, mivel az év után növekedés tapasztalható. A szolgáltatás replikáinak számát meghatározó replikációs tényező (RF) hatással van a teljes DB_Size. Az összes replika teljes DB_Size a replikációs tényező DB_Size szorozva. Node_Size a szolgáltatáshoz használni kívánt csomópontonkénti lemezterületet/RAM-ot jelöli. A legjobb teljesítmény érdekében a DB_Size a fürt memóriájába kell illeszkednie, és ki kell választani a virtuális gép RAM-jának körüli Node_Size. A RAM-kapacitásnál nagyobb Node_Size kiosztásával a Service Fabric-futtatókörnyezet által biztosított lapozásra támaszkodik. Így előfordulhat, hogy a teljesítmény nem optimális, ha a teljes adatokat forrónak tekintik (azóta az adatok be- és kifelé lapra kerülnek). Azonban számos olyan szolgáltatás esetében, ahol az adatoknak csak a töredékét használják, költséghatékonyabb.

A maximális teljesítményhez szükséges csomópontok száma az alábbiak szerint számítható ki:

Number of Nodes = (DB_Size * RF)/Node_Size

A növekedés figyelembe vétele

Érdemes lehet kiszámítani a csomópontok számát azon DB_Size alapján, amellyel a szolgáltatás várhatóan növekedni fog, a megkezdett DB_Size kívül. Ezután növelje a csomópontok számát a szolgáltatás növekedésével, hogy ne építse túl a csomópontok számát. A partíciók számának azonban azon csomópontok számán kell alapulnia, amelyek a szolgáltatás maximális növekedésű futtatásakor szükségesek.

Jó, ha bármikor rendelkezésre áll néhány további gép, hogy kezelni tudja a váratlan kiugró értékeket vagy hibákat (például ha néhány virtuális gép leáll). Bár a többletkapacitást a várt kiugró értékekkel kell meghatározni, a kiindulópont néhány további virtuális gép lefoglalása (5-10 százalék plusz).

Az előző egy állapotalapú szolgáltatást feltételez. Ha több állapotalapú szolgáltatással rendelkezik, hozzá kell adnia a többi szolgáltatáshoz társított DB_Size az egyenletbe. Azt is megteheti, hogy az egyes állapotalapú szolgáltatásokhoz külön-külön számítja ki a csomópontok számát. Előfordulhat, hogy a szolgáltatás nem kiegyensúlyozott replikákkal vagy partíciókkal rendelkezik. Ne feledje, hogy a partíciók több adatot is tartalmazhatnak, mint mások. A particionálással kapcsolatos további információkért tekintse meg a particionálási cikket az ajánlott eljárásokról. Az előző egyenlet azonban a partíció és a replika agnosztikus, mivel a Service Fabric biztosítja, hogy a replikák optimalizált módon oszlanak el a csomópontok között.

Számolótábla használata költségszámításhoz

Most tegyünk néhány valós számot a képletbe. Egy példatáblázat bemutatja, hogyan tervezheti meg egy olyan alkalmazás kapacitását, amely három adatobjektum-típust tartalmaz. Minden objektum esetében hozzávetőlegesen meg fogjuk közelíteni a méretét és azt, hogy hány objektumra számítunk. Azt is kiválasztjuk, hogy hány replikát szeretnénk az egyes objektumtípusokhoz. A számolótábla kiszámítja a fürtben tárolandó memória teljes mennyiségét.

Ezután megadjuk a virtuális gép méretét és havi költségét. A virtuális gép méretétől függően a számolótábla azt jelzi, hogy az adatok a csomópontokon való fizikai elféréséhez minimálisan hány partíciót kell használnia. Előfordulhat, hogy nagyobb számú partícióra van szüksége az alkalmazás konkrét számítási és hálózati adatforgalmi igényeinek kielégítése érdekében. A táblázat azt mutatja, hogy a felhasználói profil objektumait kezelő partíciók száma egyről hatra nőtt.

Ezen információk alapján a számolótábla azt mutatja, hogy fizikailag lekérheti az összes adatot a kívánt partíciókkal és replikákkal egy 26 csomópontos fürtön. Ez a fürt azonban sűrűn lenne tele, ezért előfordulhat, hogy további csomópontokra van szükség a csomóponthibák és a frissítések kezeléséhez. A számolótábla azt is megmutatja, hogy az 57-nél több csomópont nem biztosít további értéket, mert üres csomópontok lennének. Előfordulhat, hogy mégis 57 csomópont fölé szeretne lépni a csomóponthibák és a frissítések kezeléséhez. A számolótáblát az alkalmazás igényeinek megfelelően módosíthatja.

Számolótábla költségszámításhoz

Következő lépések

A szolgáltatás particionálásával kapcsolatos további információkért tekintse meg a Particionálás Service Fabric-szolgáltatásokat.