Analiza wydajności i wąskich gardeł serwera

Witam wszystkich,

otóż chciałbym omówić kwestię wydajności serwera znajdującego się pod moją opieką. Podejrzewam, że wąskim gardłem jest dysk twardy i byłbym wdzięczny za opinie i sugestie.

Otóż serwer jest wyposażony dwurdzeniowy procesor AMD 1.3GHz, 1gb ramu.

Najwazniejsza jest tu kwestia dyskow, otoz sam system jest uruchomiony na pendrivie ;p, o ktorym trudno mi powiedzieć coś więcej niż to, że jest i ma 8GB xD raczej nie noname, ale najtanszy dostepny :stuck_out_tongue:

od uruchomienia collectd z licznym zestawem wtyczek zauważam load na poziomie 2.00, ktory po rekonfiguracji collectd udalo mi sie zbic do 1.00. Srednio co 2-3minuty nastepuje peak 1.8 i odpowiedni spadek. W tym samym czasie idzie zapis na dysk systemowy oraz wait na procesorach. W mojej opini collectd zrzuca dane na dysk

Zasadniczo to load:

http://i.imgur.com/3160KZL.png

peakow na nim nie widac, ale sa dosc regularne

serwer nic nie robil ambitnegomiedzy 6-12 i widac tam nie najlepsza konfiguracje collectd (ale zgodna z wytycznymi dotyczacymi wydajnosci), oraz zbicie ich pod koniec do odrobine lepszego wyniku.Na samym poczatku wykresu widac bez obciazenia i bez collectda :slight_smile: praktycznie nic sie nie dzieje :slight_smile:

http://i.imgur.com/0v0IbIq.png

Pozwalam sobie pominac wykres drugiego rdzenia, ktory jest zblizony. To co tutaj widac to WAIT! (wczesniejsze operacje na serwerze, to na 4, dotycza przedewszystkim operacji na plikach). Wait jest wszedzie i szczegolnie duzy przy dzialaniu collectd.

Co wiecej zaczynam zauwazac rosnace uzycie swapa, ktory tez sie znajduje na pendrivie.

Nie pisałbym tego posta, gdyby nie zauważalny spadek wydajności. Pytania, które mnie nurtują to:

  1. Czy collectd jest poprawnie skonfigurowany? (z lektury logów wnioskuję, że wszystkie wtyczki sypiące błędami wyłączyłem) Czy biorąc pod uwagę możliwości sprzętowe, nie pozwoliłem sobie na włączenie zbyt dużej ilości wtyczek? Jak generowane obciążenie ma się do zbliżonych konfiguracji?

  2. Czy pendrive i jego możliwości techniczne nie stanowią ograniczenia dla systemu? Czy nie blokują systemu?

  3. Raid pendrivów sobie daruję, ale zależy mi na przechowywaniu danych systemowych na nim, także może wymiana na coś szybszego? niestety dostępne jedynie usb2.0

  4. Czy zostawiając bierzącą konfigurację usług itp system dużo traci na wydajności? poprzez oczekiwania i opoznienia z tego wynikające?

dzieki!

Wait-IO to na bank operacje dyskowe (pendrive-owe), nie jest ich mało.

  1. Lepiej mieć na serwerze zainstalowany sysstat.

  2. Wg mnie znaczne, jeśli to pendrive noname o marnym transferze. Mój stary HDD ATA ma transfer rzędu 60-80MB/s, a pendrive chiński ile? 10, 12, 16? A bezpieczeństwo danych też bierzesz pod uwagę?

  3. A co to za serwer tak w ogóle? Możesz kupić zewnętrzny dysk USB.

  4. Nie napisałeś jakie masz usługi. To wymaga głębeszej analizy.

Bezpieczenstwo danych jest decydujace. Zdecydowalem się na rozwiązanie z pendrivem, ponieważ zależy mi na oddzieleniu samego systemu operacyjnego od danych, ot, wydaje mi sie to najlepszym rozwiazaniem i jest jednym z zalozen dla tego urzadzenia. Zadne dane uzytkownikow nie sa przechowywane na wspomnianym pendrivie. Pominalem resztę dysków bo w tym czasie poza chwilowymi zadaniami w ogole nie pracowaly. Nie lubię systemowego bałaganu na dyskach ;p

Sprawdzilem, jest to pendrive Kingston o marnym transferze. Najtańszy z modeli.

Sysstat odnotowany, moze sie kiedys przyjrzę.

Póki co z takim wykorzystaniem zasobów spokojnie da się żyć (szkoda tylko, że narzędzie do zbierania danych go generuje, raczej nie powinno wpływać na wynik pomiarów), będę obserwował sytuację i pendrive pójdzie do wymiany przy najbliższej okazji do tego.

Dzięki za odpowiedź.

System oddzielić możesz od danych rozdzielając partycję i robiąc RAID 1. Przy okazji zwiększysz bezpieczeństwo.

Pendrive może szybciej paść niż HDD, żywotność mierzy się w ilościach operacji zapisu.

Ja bym wywalił collectd w takim przypadku, sysstat ma wszystko. Po choinkę sztucznie obciążać serwer. Rozumiem - wygoda, ale jak się okaże, że w danym momencie nie dość że masz większy ruch i jednocześnie w tym czasie collected zbiera dane to się nawet do serwera nie dostaniesz.