markonix
12.01.2014, 19:16:00
Raz na kilka - kilkanaście minut dzieje się coś takiego:
[url="https://www.dropbox.com/s/aec7taieg32e6a5/over.png[/url]
Zoptymalizowałem tabelę, przejrzałem slowlogs i zoptymalizowałem co się da. Zrestartowałem proces.
W jaki sposób chociaż znaleźć punkt zaczepienia skąd takie obciążenie? Np. tabela, konto/użytkownik (jest kilka kont w DA)?
HTOP tak naprawdę mnie tylko informuje, że pojawia się mnóstwo procesów i tyle..
Zbierasz statystyki z tego serwera np collectd?
Może ktoś zabija Cię dużą liczbą zapytań? Dużo "szybkich" zapytań, nie pojawiają się w slowlogu ale obciążają mysqla == cpu
1. Sprawdź ogólnie jak dużo masz zapytań do bazy / sekundę:
http://dev.mysql.com/doc/refman/5.0/en/ser...statvar_Com_xxx2. Zobacz w logu czy w tym czasie nie dzieją się dziwne rzeczy, dziwne zapytania:
http://dev.mysql.com/doc/refman/5.1/en/query-log.htmlMożesz na tej podstawie wychwycić czy jakiś użytkownik nie robi za dużo zapytań w tym czasie.
markonix
12.01.2014, 21:21:44
Średnia to 650 na sekundę (phpmyadmin).
Raczej to nie jest dużo (jest na serwerze jeden duży serwis, gdzie jest bardzo duży ruch).
Logów samych zapytań niestety nie mam włączonych, w configach raczej nie będę nic sam zmieniał.
Będę musiał zlecić to jakiemuś administratorowi jednak bo nie mam już pomysłów.
Zwiecha trwa kilkanaście sekund. Phpmyadmin wywala błędem "too many connections".
No to masz odpowiedź

zobacz czy w swojej aplikacji foreachem nie odpalasz czegoś pokroju mysql_connect..
markonix
14.01.2014, 00:54:35
Dzięki za pomoc.
Przyczyną był atak, bez odpowiedniej filtracji adresów IP się nie obyło.