Budapesti Műszaki és Gazdaságtudmányi Egyetem Méréstechnika és Infrmációs Rendszerek Tanszék Terheléselsztó fürtök és teljesítménytesztelés Mérési feladatk Szlgáltatásbiztnságra tervezés labr (BMEVIMIM236) Készítette: Paljak Gergely, paljak@mit.bme.hu
1 Bevezetés A mérés srán egy feladatsrt kell teljesíteni egy 3 virtuális gépből álló knfiguráción. Az architektúrát a 2. fejezet, a feladatkat a 3. fejezet ismerteti. Az előzetesen kiadtt mérési segédletet anyagát ismertnek tekintjük a mérés srán. A mérésről jegyzőkönyvet kell készíteni, a jegyzőkönyvnek tartalmaznia kell az elvégzett feladatk, mérések leírását (hgyan végezte el?), és az ezek alapján levnt következtetéseket. A jegyzőkönyv elkészítéséhez ajánljuk a következő webldaln található sabln használatát, illetve az tt lvasható tanácsk betartását: http://www.inf.mit.bme.hu/edu/ther/dcumentatin. A jegyzőkönyveket a mérésen kihirdetett időpntig kell leadni. A mérés megkezdése előtt gndsan lvassa végig a feladatsrt! 2 Mérési architektúra dtcms3 Apache httpd 2 Lad balancer JMeter PHYSICAL: LABPCXX (LENOVO) dtcms1 Apache Tmcat dtcms dtcms2 Apache Tmcat - dtcms PstrgreSQL PHYSICAL: LABPCYY (FEFO) 1. ábra Mérési elrendezés A mérést két fizikai gépen futó hárm virtuális gépen fgjuk végezni. A mérési elrendezést az 1. ábra mutatja be. Mint látható ez több szempntból sem ideális: az adatbázisszervert célszerű külön virtuális gépen futtatni az alkalmazásszerverhez képest, illetve a terheléselsztást végző szervert sem célszerű a teljesítménygenerátrral egy helyen tartani. Sajns a labr kapacitása és a mérés időtartama véges, így ezeket az egyszerűsítéseket meg kellett tennünk. Tvábbá, a mérés srán minden gép a helyi DHCP szervertől kap IP címet. Nyilván ez éles környezetben futtattt szerverek esetén ritkán frdul elő, de a mérés srán ezt is kezelnünk kell. 2
3 Mérési feladatk 3.1 Mérési infrastruktúra beállítása 0. Mielőtt elindítja a dtcms-1 gépet, ellenőrizze, hgy 1536 MB RAM van a virtuális gép számára allkálva, ha nem ennyi, akkr állítsa át! 1. Indítsa el a mérésen használandó 3 virtuális gépet: Ellenőrizze, hgy a virtuális gép hálózati adaptere Bridged üzemmódban legyen! Az erősebb (tipikusan ClerMaster feliratú) gépeken: /media/vmware-images/ktatas/ SzlgBiztLab_TeljTeszt_dtCMS1_2/WindwsServer2003R2EntEng (dtcms-1) /media/vmware-images/ktatas/ SzlgBiztLab_TeljTeszt_dtCMS1_2/WindwsServer2003R2EntEng-2 (dtcms-2) A másik (tipikusan Lenv márkajezésű) gépen: /media/vmware-images/ktatas/ SzlgBiztLab_TeljTeszt_dtCMS3/WindwsServer2003R2EntEng-3 (dtcms-3) Amennyiben a virtuális gépek a Linked Clne lemezének képállmányát (.vmdk) hiánylják, a Brwse gmbbal az alábbi könyvtárban megkereshető: /media/vmware-images/ktatas/ SzlgBiztLab_TeljTeszt_dtCMS*/WindwsServer2003R2EntEng. Az I cpied it pciót válasszák a gépek elindítása srán. A gépekre a jelszó: Administratr/LabrImage. 2. Az IP beállításk ellenőrzése A mérés srán DHCP szerverrel kiszttt IP címeket használunk (ellentétben a szervereknél szkáss statikus IP címekkel), ezért írja fel mindhárm virtuális gép IP címét, és javítsa ki a helyesre a c:\windows\system32\drivers\etc\hsts állmányt mind a hárm virtuális gépen. Ennek működését ellenőrizze a ping használatával. 3
3. A terheléselsztó knfigurálása Az előző mérés srán létrehztt Apache Tmcat Cnnectr knfigurációs állmányt máslja a megfelelő helyre, majd indítsa el az Apache webszervert. (A jegyzőkönyvbe ne felejtse el bemáslni a használt knfigurációs állmányt!) 4. Szlgáltatásk ellenőrzése Ellenőrizze a következő szlgáltatásk elindulását: dtcms-1: dtcms Applicatin Server, PstgreSQL Database Server 8.3 dtcms-2: dtcms Applicatin Server dtcms-3: Apache2.2 5. A dtcms ellenőrzése A dtcms1 és dtcms2 gépeken ellenőrizze egy böngészővel, hgy működik a webalkalmazás. 6. Ellenőrizze a terheléselsztó működését böngészője segítségével! 3.2 Teljesítménytesztelés Általáns szabályk: A teljesítményteszteket mindig ésszerű módn futtassa, minél jbban tükrözzék a valóságt (nyilván egy 2 mp-es tesztnek nincs sk értelme, legalább 2 percig futtassa a méréseket)! A tesztek kiértékelésére (az összes feladatban) legalább az alábbi Listenereket használja: Aggregate Graph Graph Results View Results As Tree Feladatk: Ezen felül választhat tvábbiakat is. 7. Egyszerű teljesítményteszt Készítsen egy egyszerű, 4-5 ldalból álló CBMS-t. Valósítsa meg ezt JMeterben, legalább 2 db lgikai vezérlő (lgic cntrller) segítségével. Futtassn néhány tesztet, mutassa be az eredményeket! 8. A terheléselsztás hatása A terheléselsztó knfigurációs ldalán módsítsa az alkalmazásszerverek LB Factrát. Vegyen fel legalább két jelentősen különböző knfigurációt, végezzen méréseket és mutassa be a különbséget! 4
9. Sessin kezelés A terheléselsztó knfigurációs ldalán állítsa át a Sticky sessin értékét. Futtassn egy tesztet! Mit tapasztal? Miért? 10. Felhasználó mdellezés Készítsen egy egyszerű CBMS-t (legalább 4-5 ldalból álljn), majd a JMeter HTTP prxy-ja segítségével rögzítse a HTTP kéréseket. A rögzített kérések alapján futtassn egy teljesítménytesztet. (Tipp: gndlja át alapsan, hgy milyen érték helyes a Cntent-Type filter Include és Exclude mezőjében! Választását ne feledje dkumentálni!) 11. Áteresztőképesség QPa Adtt a dtcms ldal következő egyszerű bejárása (CBMS): Services -> Dems. Érje el a lehető legmagasabb (rendszerszintű) áteresztőképességet a dtcms alkalmazás ezen bejárása mellett! A gépek fizikai knfigurációja kivételével bármit módsíthat. Tesztelni, mérni tvábbra is csak JMeterrel szabad. A tesztnek legalább 100 másdpercen át futnia kell, az átlags áteresztőképesség számít a versenyben. Próbáljn ki több knfigurációt, és ne felejtse dkumentálni az egyes knfigurációkat, illetve, hgy mit és miért váltztattt, valamint ezzel milyen eredményre juttt! Ez a feladat verseny a mérést végző csapatk között! Egyéb tudnivalók: A VMWare néha érdekes dlgkat művel a billentyűzetkisztással. Ha azt tapasztalja, hgy nem működik a Ctrl, Shift, vagy néhány más speciális billentyű, az Ubuntu parancssrába ezt gépelve megjavul: setxkbmap hu Ha az Ubuntura telepített OpenOffice-t használja, kerülje a dcx fájlfrmátumt, mert gyakran adatvesztéssel járó hibát kz. 5