Skocz do zawartości

Web Hosting Talk

  • progreso.pl

    Partner technologiczny

    Upraszczamy to, co inni starają się komplikować. Prosto, pewnie, przyjaźnie - tak robimy hosting!
  • Kei.pl

    Partner technologiczny

    Kei.pl działa na polskim rynku internetowym od 2000 roku. Obecnie na blisko 300 serwerach w Centrum Danych Kei.pl znajduje się kilkadziesiąt tysięcy stron WWW.
  • S-NET.info

    Partner technologiczny

    S-NET to dostawca usług dla biznesu. Najważniejsze usługi świadczone przez firmę to usługi Centrum Danych, dostęp do Internetu, transmisja danych oraz tranzyt do różnych operatorów.
  • Sprint Data Center

    Partner technologiczny

    Sprint Data Center to jedyne w Polsce północno-wschodniej i jednocześnie jedno z najnowocześniejszych w kraju centrum przechowywania i przetwarzania danych.

 

Zbyt duże obciążenie pamięci przez MySQL


  • Nie możesz odpowiadać w tym temacie
3 odpowiedzi na ten temat

Zbyt duże obciążenie pamięci przez MySQL

#1 Pitu

    Stały użytkownik

  • Użytkownicy
  • PipPipPipPipPip
  • 161 postów
  • Imię:Piotr

Napisany 27 grudzień 2010 - 19:17

Witam

Mam dość poważny problem. Nie mam pojęcia co się dzieje lecz od kilku dni co ok. 30min. - 1h zużycie pamięci sięga 100% ca za tym idzie zapycha się swap. Load skacze to bardzo dużych wartości.

Screen z htop

Dodany obrazek

Mój my.cnf
Spoiler

CentOS 9.5 + Plesk
2x2,8GHz
2GB RAM

#2 Damian.

    Często na forum

  • Użytkownicy
  • 57 postów
  • Skąd:Nisko
  • Imię:Damian

Napisany 27 grudzień 2010 - 22:09

zle zoptymalizowany mysql, niestety ja ci nie pomogę bo w optymalizacjach nie jestem za dobry ;)

#3 squeezer

    Czasami na forum

  • WHT Pro
  • 37 postów

Napisany 28 grudzień 2010 - 07:24

Cóż, ja akurat optymalizacją się zajmuję, ale także, na ten moment, wiele więcej nie jestem w stanie powiedzieć. ;)

Z tego co widać na screenie, wisi Ci sporo wątków, czyli sporo połączeń. Pytanie, jak wygląda "normalne" zużycie pamięci? To może działać w obie strony - jedno ciężkie (albo nieoptymalne) zapytanie przytyka serwer, co przekłada się na wzrost liczby zapytań czekających na wykonanie, co przekłada się na wzrost zapotrzebowania na pamięć, co przekłada się na zwolnienie serwera, co przekłada się... I tak dalej.
Może też być w drugą stronę - w "normalnej" pracy pamięci jest na styk i jeśli chwilowo do serwera połączy się większa ilość klientów, to tej pamięci zaczyna brakować, co powoduje zwolnienie działania serwera, co powoduje... I tak dalej.

Zacznij od tego, żeby sprawdzić co konkretnie jest przyczyną problemu. Z konfiguracji wynika że slowlogi powinieneś mieć włączone. Jeśli nie masz, to włącz. Ustaw także zmienną long_query_time=1 - będą się logować zapytania o czasie wykonywania dłuższym niż 1 sekunda. Zobacz w slowlogu co się złapało. Sprawdź EXPLAINem plan tych zapytań. Jeśli brakuje indeksów, dodaj. Jeśli zapytania są nieoptymalne, przepisz je. Monitoruj zużycie pamięci w czasie, zrzucaj sobie co pewien czas (np. co 5 minut) także listę procesów. Jeśli w slowlogu wszystko będzie ok, to tak zbierane informacje pomogą sprawdzić, czy wzrost obciążenia bazy bierze się z większej odwiedzalności, czy też nie jest to połączone.
Optymalizacja MySQL - mysql.ksiazek.info

#4 bellerofont

    szeryf :)

  • WHT Pro
  • PipPipPipPipPipPipPipPip
  • 2002 postów
  • Skąd:Warszawa

Napisany 28 grudzień 2010 - 10:00

Pamiętaj o tym, że MySQL rezerwuje pewną ilość pamięci per połączenie.
W związku z tym jeśli masz np. 500 połączeń do bazy, które się utrzymują constant, to zasadniczo niezależnie od konfiguracji
będziesz miał duże użycie pamięci. Optymalizacja zapytań może nic nie dać. Trzeba będzie dołożyć pamięci do serwera i przejść na system x86_64.

Jeśli masz dużo połączeń, a uważasz, że niekoniecznie jest to uzasadnione, to sprawdź na liście procesów co ten MySQL tak naprawdę robi.
Może się okazać, że architektura jednego z zapytań jest trefna, wykonuje się ono długo, a efektem tego jest utrzymywanie
przez kilkadziesiąt sekund wszystkich przychodzących żądań w fazie oczekiwania na obsługę.





1 Użytkowników czyta ten temat

0 użytkowników, 1 gości, 0 anonimowych użytkowników