Ha egy szerver túlterhelt, legyen az virtuális vagy dedikált, a webhelyek lassan töltődnek be, és tartalom helyett irritáló hibákat produkálnak. Az ilyen eredmény elkerülése érdekében gondosan figyelemmel kell kísérni paramétereit, és időben elemezni kell az erőforrásokat,
Ezután megvizsgáljuk az egyes erőforrások diagnosztizálását a tárhelyszolgáltató eszközeivel, valamint a szerveroldali terminálon keresztül. Ezen túlmenően megvizsgáljuk a rendszer gyenge teljesítményével kapcsolatos problémák megoldásának különböző megközelítéseit. Az utasítások minden Linux operációs rendszert futtató szerverre vonatkoznak, az előre telepített szoftvertől függetlenül.
Szervererőforrások ellenőrzése a VMmanager segítségével
A VMmanager virtualizációs eszköz a legegyszerűbb, mégis univerzális diagnosztikai megoldás. Kulcsszerepet játszik a dedikált vagy virtuális szerverek hatékony kezelésének biztosításában a legtöbb modern tárhelyszolgáltatón. Példaként az ellenőrzést az eszköz 6-os verzióján fogjuk elvégezni, azonban a korábbi verziók is végezhetnek hasonló diagnosztikát.
Az elemzéshez a VMmanager kezelőpaneljére kell mennie , és ki kell választania a kívánt virtuális gépet:
Ezután a felhasználó azonnal, valós időben láthatja az erőforrások felhasználását. A részletesebb statisztikák megtekintéséhez válassza a „Paraméterek” lehetőséget:
A felül található részletes statisztikák lapon a szerver általános jellemzői és a virtualizáció típusa látható. A grafikonokon valós időben láthatja a hálózati torlódást, a processzorterhelést, a RAM-ot és a lemezterület-használatot:
A lemezterület vagy az erőforrás-statisztikák egy bizonyos időszakra vonatkozó részletesebb elemzéséhez ki kell választania a megfelelő menüpontot. A virtuális lemezekkel kapcsolatos információk a következő formátumban jelennek meg:
Egy adott erőforrás terhelési statisztikái kényelmes grafikon formájában jelennek meg:
Lehetőség van egy nap, hét, hónap, év terhelési grafikonjának megjelenítésére, vagy a szükséges dátumok manuális kiválasztására. Az összes fő erőforrás megjelenik: processzor, RAM, tároló, hálózati interfész.
Sok felhasználó elvárja, hogy az erőforrásokat egy bizonyos időszakon keresztül egyenletesen használják fel. Ez azonban nem mindig van így. Például a hálózati interfész még készenléti állapotban is hasonlóan nézhet ki:
Ebben az esetben semmilyen intézkedésre nincs szükség. Processzor, RAM vagy lemezes tárhely esetén azonban a szerver ne használja folyamatosan erőforrásainak 100%-át; az ajánlott terhelés nem több, mint 70%.
Szerver erőforrások ellenőrzése a terminálban
Teljes terhelés elemzése
Korábban már áttekintettünk néhány elemzési lehetőséget a Szervererőforrások általános diagnosztikája cikkben. Ott olyan szabványos eszközökről volt szó, mint a top/atop , valamint a Netdata segédprogram telepítéséről és konfigurálásáról is , amely lehetővé teszi a szervererőforrások böngészőn keresztüli monitorozását. Ebben a cikkben a htop-ot a top segédprogram alternatívájaként fogjuk megvizsgálni az általános rendszererőforrás-elemzés során.
Az eszköz alapértelmezés szerint nincs előre telepítve a Linux disztribúciókban, ezért kezdjük a telepítéssel. Debian/Ubuntu esetén a következő parancsot használjuk:
apt-get install htop
CentOS esetén logikusabb az EPEL repository-kat használni. Ezek alapértelmezés szerint le vannak tiltva, így az első parancs felelős a hozzáadásukért, a második pedig a htop telepítéséért :
yum -y install epel-release
yum install htop -y
Közvetlenül a telepítés után megnyithatja a segédprogramot az alkalmazás menüből vagy a terminálból a megfelelő paranccsal:
htop
Ennek eredményeként a felhasználó láthatja a rendszerrel kapcsolatos összes információt:
A bal felső sarokban a processzor adatai láthatók, beleértve az egyes magok, a RAM és a swap memória használatát. A Linuxban a cserememóriát RAM-hiány esetén használják, biztosítva a rendszer stabilitását. A jobb felső sarokban a processzorterhelés és az aktív feladatok száma látható. A központi rész az aktív folyamatokat mutatja be rendezési lehetőséggel. Az alsó rész információkat tartalmaz a gyorsbillentyűkről és a funkciókról. A „Súgó” rész a program képességeinek részletes leírását tartalmazza:
Mielőtt diagnosztizálnánk a rendszert, pontosan meg kell érteni, hogy hány processzort/magot használnak a szerveren. A felhasználó a htop segédprogram bal felső sarkában találhatja meg ezek értékét :
Vagy a parancs futtatásával:
nproc
A kapott értéktől függően a rendszer kiszámítja a megengedett összterhelést (jobb felső sarokban terhelési átlag). Esetünkben ez egyenlő 2-vel, ami azt jelenti, hogy a maximális terhelés 2.0. Ez azonban nem jelenti azt, hogy a rendszer teljesen lefagy 2.0 terhelés alatt. Ez a szám magasabb is lehet, de ebben az esetben az összes többi feladat a sorban lesz, és maga a szerver is betöltődik. Ideális értéknek a legfeljebb 70%-os terhelést tekintjük. Például a terhelési átlagnak 0.7-en belül kell lennie egyprocesszoros kiszolgálón. A fent említett példában szereplő szerver esetében jó mutató az 1.4-nél nem magasabb értékek.
A htop vagy analógjai használatával a felhasználónak ki kell értékelnie a fő erőforrásokat: az átlagos processzorterhelést, a RAM-használatot, a lemezterületet és a hálózati interfészt. Ha az erőforrások minimálisak, akkor a folyamatokat CPU-használat szerint kell rendezni, azonosítani a nagy erőforrásigényű műveleteket, majd optimalizálni vagy leállítani azokat. Ha a program bezárása lehetetlen, vagy az optimalizálás sikertelen, ajánlott egy erősebb konfigurációjú szerverre váltani.
Szabad RAM ellenőrzése
Ebben a részben közelebbről megvizsgáljuk bármely szerver működésének egy fontos szempontját - a megfelelő szintű szabad RAM-ot.
A szabad RAM ellenőrzésének legegyszerűbb módja bármely Linux rendszeren a terminálon keresztül a következő paranccsal:
free -m
A kimeneten a következő adatokat kapjuk megabájtban: teljes, használt, szabad és gyorsítótárazott RAM, valamint a cseremennyiség:
Az eszköz hasznos általános adatok egy adott időpontban történő beszerzéséhez. Dinamikus RAM-használati diagnosztikához a vmstat segédprogramot ajánljuk, amely lehetővé teszi a kimeneti információk frissítési gyakoriságának konfigurálását:
vmstat 1
A fenti példában az adatok másodpercenként frissülnek. A kimenet a következőhöz hasonló formátumban jön létre :
Az eszköz általános rendszerinformációkat is ad, de esetünkben csak a RAM-ért felelős oszlopok, vagyis a memória és a csere a fontosak. Minden érték kilobájtban van megadva. Nézzük meg őket részletesebben:
Memória (RAM):
- köteg: virtuális memória fizikaira cserélve.
- ingyenes: rendelkezésre álló fizikai memória (RAM).
- barnássárga: a lemez írása előtt pufferként használt memória.
- cache: gyorsítótárként használt memória a hozzáférés felgyorsítására.
Csere
- si: gyorsítótárként használt memória a hozzáférés felgyorsítására.
- so: a fizikai memóriából a cserememóriába írt adatok.
Külön érdemes megemlíteni azt a tényt, hogy a diagnosztizáló segédprogramok összes rendszer-erőforrása kezdetben adatokat vesz a naplókból. RAM esetén a felhasználó közvetlenül megtekintheti az adatokat a megfelelő fájl megnyitásával:
cat /proc/meminfo
A kimenet meglehetősen kiterjedt, de a memória elemzéséhez elegendő az első rekordokra figyelni:
A túlzott RAM-használattal kapcsolatos problémák leggyakrabban egy adott feladathoz vagy folyamathoz kapcsolódnak. Kezdetben elegendő a közös eszközökkel végzett diagnosztika a problémás folyamatok azonosítására. Megoldásként fontolóra veheti egy adott alkalmazás optimalizálását, a gyorsítótárazás és az adattömörítés engedélyezését, ha nagy mennyiségű információról beszélünk, vagy a szerver konfigurációjának növelését.
Lemezterület-szabályozás
A szerver lemezterületének diagnosztikája nem kevésbé fontos, mint a többi erőforrás. Az ellenőrzés szükségességét általában a következők jelzik: a meglévő fájlok létrehozásának vagy írásának képtelensége, lassú rendszerteljesítmény és különféle bemeneti/kimeneti hibák.
Az ellenőrzés legkényelmesebb módja a következő parancs:
df -h
Válaszul az eszköz információkat jelenít meg az összes csatlakoztatott lemezpartícióról:
Ezzel a paranccsal részletesebb könyvtárfigyelést végezhet:
du -hs /*
Így a felhasználó megtudhatja, hogy az egyes könyvtárak mennyi helyet foglalnak el. A rendszer teljesítményének visszaállításához optimalizálnia kell a legtöbb memóriát fogyasztó lemezpartíciót. Javasoljuk, hogy a teljes felhasznált mennyiség szabad helyének 80-90%-ánál többet ne hagyjon ki; a maradék 10-20%-nak elégnek kell lennie a rendszer stabil működéséhez. Javasoljuk, hogy növelje a lemezterületet, ha az optimalizálás nem lehetséges. Ez végrehajtható új lemezek hozzáadásával vagy meglévő lemezek bővítésével, valamint felhőalapú tárolás használatával. A választott megoldástól függetlenül ajánlott mindig biztonsági másolatot készíteni a fájlvesztés elkerülése érdekében.
Hálózati interfész ellenőrzése
A szerverdiagnosztika utolsó, de nem kevésbé fontos szempontja a hálózati interfész ellenőrzése. A nethogs segédprogram akkor használható, ha általános információkat szeretne szerezni arról, hogy valós időben mekkora forgalmat bonyolítanak le a hálózati folyamatok.
Telepítés és indítás Cent OS-en:
yum install nethogs
nethogs
Debian/Ubuntu esetén:
apt-get install nethogs
nethogs
Az eszköz megjeleníti azokat a folyamatokat, amelyek jelenleg hálózati erőforrásokat használnak:
Javasoljuk a használatát iftop részletesebb elemzéshez.
Telepítés és indítás Cent OS-en:
yum install iftop
iftop
Debian/Ubuntu esetén:
apt-get install iftop
iftop
A program kimenete az aktív kapcsolatok listája, amely jelzi az IP-címeket, portokat, az átvitt adatmennyiséget és az átviteli sebességet. A program fő előnye a hálózati csatorna betöltésének vizuális kialakítása:
A szerver hálózati csatornájának diagnosztizálása és a nagy terhelésnél jelentkező problémák azonosítása után javasolt a tárhelyszolgáltató oldalán a hálózati kapcsolatok sávszélességének növelése vagy az adott problémás felület beállításainak optimalizálása. Biztonsági mentési eszközként különféle felügyeleti rendszerekkel gyorsan nyomon követhető a hálózati tevékenység változása, és szükség esetén a hálózati infrastruktúra a követelményeknek megfelelően rendszeresen frissíthető.
Összegzés
Összefoglalva, hangsúlyozható, hogy a szervererőforrások diagnosztizálása a virtuális és dedikált szerverek hatékony kezelésének szerves részét képezi. A cikk lehetőséget adott arra, hogy áttekintsük a teljes körű szerverelemzés főbb eszközeit, és gyakorlati ajánlásokat is adott a lehetséges problémák elhárítására. A rendszeres rendszerdiagnosztika lehetővé teszi a szerver zökkenőmentes működését, aktív felhasználói részvétel nélkül is.