07
lp.
2009
palikowski

drupala modułów bez liku

mysqlslowquery20090705.png

ciekawostka z dziś: po kilku padach serwera postanowiłem jeszcze raz przejrzeć listę modułów, jakie bez opamiętania instalowałem budując nową wersję basoofki. Nazbierało się ich około 60 w katalogu z modułami dodatkowymi, plus kilkanaście rdzennych.

Ponieważ serwer dostawał co kilkanaście godzin szajby i nagle zużycie pamięci strzelało do maksimum (tego liczonego z plikiem swap) a loady sięgały 100 i więcej, przyjrzałem się slow logowi pokazującemu zaputania sql trwające dłużej niż ustawiona w /etc/mysql/my.cnf wartość long_query_time = (u mnie 3).

Co zobaczyłem? Kilka powtarzających się ciągle kwerend - jedna ledwo mieszcząca się na ekranie terminala budująca menu z kategorii - taxonomy menu. Po wyłączeniu modułu (co ciekawe) menu wcale nie znikło, podejrzewam, że tylko generowanie ilości wpisów w danej kategorii przestanie działać, ale zawsze mogę wyłączyć tę funkcję, wygenerować menu dla kategorii które mam w serwisie (są ustalone na sztywno) i moduł wyłączyć. Następny do wyłączenia poszedł moduł flag, który również generował sporo kwerend powolnych w połączeniu z widokami jakie potworzyłem w views. Potem padło na profile - z ciężkim sercem bo użytkownicy basoofki sporo w profilach mają - w lullabot podcast słyszałem wiele złefgo na temat jakości kodu i zasobożerności tego modułu (podobno jego historia sięga początków drupala). Po wyłączeniu jeszcze kilku bloków i ukryciu statystyk forum, osiągnąłem znaczne zmniejszenie ilości wolnych kwerend na sekundę, co widać na załączonym obrazku, w prawej części wykresu dziennego.

Jako ciekawostka załączam zestaw statystyk z munina, do przeanalizowania - jak zbyt zasobożerne skrypty oraz niewprawna konfiguracja mysql potrafią zabić nie taki znów słaby serwer dedykowany.

ZałącznikRozmiar
20090706munin.zip894.9 KB

Dodaj nową odpowiedź

Zawartość tego pola nie będzie udostępniana publicznie.
  • Adresy internetowe są automatycznie zamieniane w klikalne odnośniki.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Znaki końca linii i akapitu dodawane są automatycznie.

Więcej informacji na temat formatowania

CAPTCHA
Poniższe zadanie ma na celu stwierdzenie, czy jesteś człowiekiem, a tym samym przeciwdziałanie spamowi.