Kurs: Sistemska administracija 2, Maintaining a Microsoft Windows Server 2003 Environment, prema MS kursu 2275
Modul: Nadgledanje performance servera
Autor:
Naziv jedinice: Nadgledanje memorije
Materijali vezani uz ovu lekciju:
-
Test nadgledanje memorije -
Nadgledanje memorije (PDF dokument)
Monitoring Server Performance
Današnji zahtevi poslovnog okruženja koji odrađuju sistem administratori vezani su za održavanje servera u efikasnom i stabilnom stanju. Da bi optimizovali performanse servera administratori moraju da prikupe podatke vezane za performanse (Performance Data) koji pomažu u identifikaciji uskih grla u sistemu.
Primarni podsistemi na serveru
- Memorija - memorija na serveru je podsistem koji je generalno najvažniji za performanse servera. Ako server nema dovoljnu količinu RAM memorije (Random Access Memory) da drži podatke koji su mu potrebni, server će privremeno početi da zapisuje podatke na disk. Pristup i čitanje sa diska je mnogo sporije nego iz RAM-a, tako da smeštanje podataka na disk u određenoj količini može da degradira performanse servera.
- Procesor - veoma važan asprekt performanse servera je njegov nivo iskorišćenosti. Kada aplikacije ili neki drugi softver koriste procesor više nego što on može da hendluje onda drugi softver koji radi u isto vreme radi mnogo slabije i sporije.
- Disk - brzina pristupa fizičkom disku može dosta da utiče na brzinu rada aplikacija i čitanje podataka. Takođe, prostor na disku za smeštanje podataka mora biti dovoljo veliki da bi aplikacije mogle da se instaliraju, da se smeste određeni podaci, i takođe imati dovoljno prostora za Paging fajl.
- Mreža - na Performanse mreže najviše utiču dve stvari, prvo brzina hardvera u mrežnom okruženju i drugo, softver koji je instaliran na serverima i klijentima.
Nadgledanje memorije servera
Memorija znatno utiče na performanse servera. Malo memorije može da uspori rad aplikacija i servisa na serveru i takođe može da utiče na rad drugih resursa vašeg sistema. Iz tog razloga, nadgledanje i analiziranje iskorišćenosti memorije je jedan od prvih koraka koje treba preduzeti kada ste odgovorni za performansu servera.
Zašto nadgledamo memoriju na serveru?
Nedostatak memorije je najčešći razlog ozbiljnih problema u performansi sistema na kompjuterima. Čak i ako posumnjate na neke druge probleme, treba proveriti brojače memorije i saznati sve informacije. Administratori nadgledaju memoriju na serveru da bi održavali dovoljnu količinu dostupne memorije i nivo paging-a (fajla za straničenje).
Nadgledanje performansi servera administratorima pomaže pri određivanju:
- Uskog grla (Memory bottleneck) - Manjak memorije može da uspori rad aplikacija i servisa na serveru i može da ima uticaj na performanse drugih resursa na serveru. Na primer, ako server ima manjak memorije (Low memory) Paging će biti veći, dakle sistem će početi da zapisuje podatke na disk, što rezultuje povećanoj iskorišćenosti diskova. Iz razloga što je čitanje i pisanje na disku povečano (paging), plus druge disk transakcije koje se obavljaju, sve to može da dovede do pojave uskog grla vezano za diskove (disk bottkeneck). Dakle, veoma je važno nadgledati iskorišćenost memorije i regularo detektovati pojavu uskog grla.
- Nedovoljna količina memorije (Insuficient memory) - je razlog za simptome kao što su nedostatak memorije, i povećani paging. Nadgledanjem memorije servera, možemo da koristimo informacije iz polazne linije (base line) kad želimo da predvidimo da li je potrebno dodati određenu količinu RAM menorije, ili ako je potrebno izbeći neke od ovakvih probelema.
- Preterani Paging (Excessive Paging) - indikacija ili posledica problema sa memorijom je povećani Paging (fajl za straničenje). Paging je proces pomeranja blokova koda fiksirane veličine i podataka iz RAM-a na disk koristeći jedinice koje se nazivaju pages a sve to da bi se oslobodila određena količina RAM memorije. Mada je određena količina paging-a prihvatiljiva, iz razloga što nam Paging omogućava da koristimo više memorije nego što zaista imamo na serveru, konstantan paging usporava performansu servera. Smanjivanje paging-a veoma utiče na odziv i rad servera.
- Curenje memorije (Memory Leak) - curenje memorije nastaje kada aplikacije dobijaju memoriju na korišćenje ali je ne oslobađaju nakog završetka rada. Kao rezultat, dostupna memorija je iskorićena vremenom, i često se dešava da server prestane da funkcioniše.
Kako identifikovati i srediti uska grla vezano za memoriju?
Najčešći resurs kod kojeg se javlja Usko grlo je memorija i prouzrokovano je nedostatkom memorije.
U Windows Server 2003, RAM je podeljen u dve kategorije: Paged i nonpaged.
Paged RAM je virtualna memorija, i pojavljuje se u slučajevima kada je sva dostupna memorija dodeljena svim aplikacijama. Windows Server 2003 radi paging (beleženje podataka na disk) tako što svim aplikacijama podeli privatnu memoriju (private memory range) koji se naziva virtualna memorija (Virtual Memory Space).
Nonpaged RAM ne može da koristi ovu konfiguraciju. Podaci koji su stavljeni u nonpaged RAM memoriju moraju ostati u memoriji i ne mogu biti obrisani ili napisani na disk.
Virtualni sistem memorije (Virtualni Memory System) u Windows Server 2003 kombinuje fizičku memoriju, File system Cache, i disk u Information Storage & Retrival Information. Sistem smešta program kod i podatke na disk sve dok ne budu potrebni, i tada ih pomera u fizičku memoriju. Kod i podaci koji nisu aktivni pišu se na disk. Kada kompjuter nema dovoljnu količinu memorije, kod i podaci moraju da budu napisani i uzeti sa diska veoma često i ovaj proces usporava performanse servera i dovodi u većini slučajeva do uskog grla.
Najbolji indikator uskog grla vezanog za memoriju je izdražavanje (sustained) visokog nivoa Hard Page faults (grešaka). Hard Page Faults se pojavljuju kada podaci koji program zahteva nisu pronađeni u njegovom working setu ili negde u fizičkoj memoriji, i moraju se čitati sa diska. Konstantno čitanje i pretraživanje diska prouzrokuje usko grlo vezano za memoriju.
Brojači koje koristimo kad želimo da proverimo da li je usko grlo prisutno vezano za memoriju
Koristimo sledeće brojače za memoriju kad želimo da proverimo da li je prisutno usko grlo.
Brojači se nalaze u Performance konzoli. Otvorimo Performace konzolu pa zatim System Monitor.
- Memory: Available Bytes - beleži trenutno raspoloživu količinu memorije na serveru.
- Memory: Commit Limit - beleži količinu memorije koju možete da dodelite bez proširivanja fajla za straničenje (paging fajla)
- Memory: Committed Bytes - beleži količinu memorije dodeljene procesima koji su pokrenuti na serveru.
- Memory: Pages Input/Sec - beleži učestalost upisivanja stranica sa podacima u RAM iz fajla za straničenje radi razrešenja straničnig grešaka.
- Memory: Pages/sec - beleži tekuću učestalost čitanja stranica sa diska nazad u fizičku memoriju kako bi izvršio "tvrdu" straničnu grešku ili upis na disk radi oslobađanja RAM-a.
- Physical Disk: % Disk Time - beleži procenat vremena koje disk utroši na servisiranje zahteva za čitanje ili upis.
- Physical Disk: Avg Disk Queue Length - beleži prosečni broj zahteva za čitanjem i upisom na disku u okviru selektovanog intervala.