drupala modułów bez liku
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.
| Podgląd | Załącznik | Rozmiar |
|---|---|---|
| 20090706munin.zip | 894.9 KB | |
![]() | mysqlslowquery20090705.png | 24.4 KB |


Ostatnie odpowiedzi