Jak wyliczy
Jak wyliczyć maksymalny wskaźnikśredniego obciążenia procesora?
Witajcie!
Tym razem to nie jest problem, lecz pytanie. Wiele się naczytałem o średnim obciążeniu procesora (ang. load average). Wielu ludzi, na wielu stronach dobrze namąciło mi w głowie. Ostatecznie postanowiłem sam założyć temat i zapytać się Was o co chodzi. Oczywiście wiem, że jest to wskaźnik obciążenia serwera, ale jaka jest jego maksymalna wartość, od której zaczynają się opóźnienia? Jaki jest na to wzór?
Mając kilka małych serwerów dedykowanych, po 24GB RAM-u wyliczyłem to sobie tak:
[INDENT] Ilość_procesorów * Ilość_rdzeni * Ilość_wątków[/INDENT]
Wyszło 8. Ustawiłem sobie powiadomienia na adres pocztowy, gdy obciążenie przekroczy 8. Faktycznie, w tym momencie aplikacje zaczęły "zawieszać się".
Kilka miesięcy temu kupiłem większy serwer, według mojego wzoru wychodzi 32. Niestety, albo stety, ale nawet przy wskaźniku ponad 200 nie ma żadnych większych oznak obciążenia. Sam już nie wiem co o tym myśleć. Czy jest jakieś sensowne wytłumaczenie tego wskaźnika?
Tym razem to nie jest problem, lecz pytanie. Wiele się naczytałem o średnim obciążeniu procesora (ang. load average). Wielu ludzi, na wielu stronach dobrze namąciło mi w głowie. Ostatecznie postanowiłem sam założyć temat i zapytać się Was o co chodzi. Oczywiście wiem, że jest to wskaźnik obciążenia serwera, ale jaka jest jego maksymalna wartość, od której zaczynają się opóźnienia? Jaki jest na to wzór?
Mając kilka małych serwerów dedykowanych, po 24GB RAM-u wyliczyłem to sobie tak:
[INDENT] Ilość_procesorów * Ilość_rdzeni * Ilość_wątków[/INDENT]
Wyszło 8. Ustawiłem sobie powiadomienia na adres pocztowy, gdy obciążenie przekroczy 8. Faktycznie, w tym momencie aplikacje zaczęły "zawieszać się".
Kilka miesięcy temu kupiłem większy serwer, według mojego wzoru wychodzi 32. Niestety, albo stety, ale nawet przy wskaźniku ponad 200 nie ma żadnych większych oznak obciążenia. Sam już nie wiem co o tym myśleć. Czy jest jakieś sensowne wytłumaczenie tego wskaźnika?
Taka, kiedy procesy czekają w kolejce. Ponieważ, nie jest możliwe ich wykonanie.Starter pisze:Witajcie!
Tym razem to nie jest problem, lecz pytanie. Wiele się naczytałem o średnim obciążeniu procesora (ang. load average). Wielu ludzi, na wielu stronach dobrze namąciło mi w głowie. Ostatecznie postanowiłem sam założyć temat i zapytać się Was o co chodzi. Oczywiście wiem, że jest to wskaźnik obciążenia serwera, ale jaka jest jego maksymalna wartość, od której zaczynają się opóźnienia?
Przykładowo, możesz mieć jeden dysk, który np. przy wartości 30 nie będzie wyrabiał, procesy będą czekały na dysk. A możesz mieć macierz z kontrolerem wyposażonym w pamięć podręczną, która sobie poradzi bez problemu.
Tak jak wyżej zostało napisane zależy co wygenerowało obciążenie.
Inny przykład: możesz mieć dużo procesów serwera apache bo np. są połączenia do bazy. Jak wyczerpie się ilość połączeń do bazy to obciążenia może nie być dużego, ale zacznie kisić bo wyczerpie się limit połączeń do serwera apache.
Hej! Na każdym serwerze dedykowanym z sieci jest idealnie to samo - same procesy Javy. Różnicą jest oczywiście ilość pamięci ram, procesor ale myślę, że jest jak sugerujecie - na tych "dużych" serwerach są dyski SSD a na tych "małych" zwykłe HDD. Teraz nasuwa się pytanie - po co wtedy jest wskaźnik obciążenia? Jak on jest liczony skoro nie wyraża żadnego limitu, gdyż nie uwzględnia zastosowanego sprzętu?
Jak nie wyraża jak wyraża. Jest to ilość działających lub oczekujących na uruchomienie procesów (pobierają lub czekają na zasoby CPU/IO). W zależności od rodzaju obciążenia (aplikacje mocno obciążające procesor lub podsystem dyskowy, oba na raz) różny poziom loadu będzie powodował taką samą utratę responsywności systemu. Nie ma złotego środka. Trzeba to ocenić na podstawie posiadanego sprzętu oraz rodzaju obciążenia generowanego przez aplikacje.
Sam odpowiedziałeś sobie na pytanie ile jest warty Twój wskaźnik. Nie wiem skąd go wziąłeś i chyba nie chcę wiedzieć.Starter pisze: Jak on jest liczony skoro nie wyraża żadnego limitu, gdyż nie uwzględnia zastosowanego sprzętu?
Nie podejmuje się decyzji na podstawie jakiegoś wskaźnika. Trzeba obserwować maszynę, żeby zobaczyć co się na niej dzieje, czy jedzie np. po dysku czy po procesorze, czy może zabrakło pamięci i pisze po swap'ie.
Temat jest do działu Serwer a nie Software.
Witajcie! Wartość tego wskaźnika biorę z polecenia top/htop. Mam statystyki pamięci czy procesorów, ale jest też coś takiego jak "load" i zaciekawiło mnie to dlaczego są takie rozbieżności i jak go wyliczyć. W każdym razie dziękuję każdemu za udział w rozmowie na ten temat. Proszę o zamknięcie tematu i jeżeli faktycznie moderator uzna, że założyłem go w złym dziale, to dodatkowo o przeniesienie.
- LordRuthwen
- Moderator
- Posty: 2341
- Rejestracja: 18 września 2009, 21:45
- Lokalizacja: klikash?
Napisałem własny skrypt, który generuje mi statystyki graficzne, liczy średnie, wysyła powiadomienia i robi kawęLordRuthwen pisze:@Starter, spróbuj może monitorować obciążenie za pomocą jakiegoś skryptu, np. cacti, z doświadczenia wiem, że to całkiem inaczej wygląda jak masz narysowane a jak masz suche liczby.
