peres.pro 9 Zgłoś post Napisano Maj 5, 2012 Witam serdecznie, poszukuje programu na debiana który będzie w czasie rzeczywistym pokazywał mi zapytania do bazy które dana aplikacja wysyła, mam silnik do pewnej gry który nie jest zbyt zoptymalizowany jeżeli chodzi o przeciążenie mysql'a coś podobnego do mytop bo w mytop nie ogarniam konfiguracji. Udostępnij ten post Link to postu Udostępnij na innych stronach
patryk 451 Zgłoś post Napisano Maj 5, 2012 SSH, a potem watch mysqladmin processlist -uuser -phasło Udostępnij ten post Link to postu Udostępnij na innych stronach
peres.pro 9 Zgłoś post Napisano Maj 5, 2012 (edytowany) Oprócz tej małej tabelki, nic więcej to nie pokazuje. Edytowano Maj 5, 2012 przez lanceq (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
patryk 451 Zgłoś post Napisano Maj 5, 2012 No bo na serwerze nic się nie dzieje - masz jedno połączenie z mysqladmina i drugie "spiące" skryptu (które spadnie po osiągnięciu timeoutu). Jak pojawią się jakieś inne połączenia to w polu info wyświetli się treść zapytania, które jest realizowane. Więcej chyba nie potrzeba do szczęścia :-). Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość Kamikadze Zgłoś post Napisano Maj 5, 2012 TIME jest liczone w sekundach? Udostępnij ten post Link to postu Udostępnij na innych stronach
peres.pro 9 Zgłoś post Napisano Maj 5, 2012 (edytowany) No bo na serwerze nic się nie dzieje - masz jedno połączenie z mysqladmina i drugie "spiące" skryptu (które spadnie po osiągnięciu timeoutu). Jak pojawią się jakieś inne połączenia to w polu info wyświetli się treść zapytania, które jest realizowane. Więcej chyba nie potrzeba do szczęścia :-). No właśnie nie pokazuje ..., żeby to przetestować włączyłem drugi terminal i odpaliłem specjalnie silnik (silnik przy starcie wykonuje około 90 zapytań do bazy, tutaj nic się nie pokazuje, jak to wytłumaczysz ? Edytowano Maj 5, 2012 przez lanceq (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość Kamikadze Zgłoś post Napisano Maj 5, 2012 On pokazuje połączenia a nie zapytania, Połączenie zaczyna się na początku skryptu a kończy na końcu, zapytania są wewnątrz skryptu. Udostępnij ten post Link to postu Udostępnij na innych stronach
peres.pro 9 Zgłoś post Napisano Maj 5, 2012 (edytowany) No a ja chciałem zobaczyć aktualnie wykonywane zapytania a nie połączenia żeby zlikwidować błędy obciążające mysql'a po co mi patrzeć na ilość połączeń ? Edytowano Maj 5, 2012 przez lanceq (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
patryk 451 Zgłoś post Napisano Maj 5, 2012 Polecenie processlist pokazuje połączenia i powiązane z nimi zapytania, przykładowo: | 840502 | jakies_test | localhost | cokolwiek_test | Query | 1 | Sending data | SELECT a.aid, a.timestamp, a.url, a.uid, u.name FROM accesslog a LEFT JOIN users u ON a.uid = u.uid | Zauważ, że Twój watch odswieża się co 2 sekundy. Jeśli zapytania trwają krócej i akurat odpowiednio nie trafią w odswieżenie to ich nie zauważysz. Jak chcesz mieć odświeżenie częściej to dodaj -n1 do polecenia. Udostępnij ten post Link to postu Udostępnij na innych stronach
peres.pro 9 Zgłoś post Napisano Maj 5, 2012 No i będzie odświeżał co sekunde, ja muszę mieć w czasie rzeczywistym i tak żeby pokazywał kilka na raz bo te zapytania lecą strasznie szybko i jest ich sporo. Udostępnij ten post Link to postu Udostępnij na innych stronach
patryk 451 Zgłoś post Napisano Maj 5, 2012 To niestety takiego narzędzia pod konsolę nie znajdziesz. Możesz jedynie uruchomić logowanie wszystkich zapytań do pliku. A jeśli te zapytania wykonują sie mniej niż sekundę to raczej wątpie, żeby serwer się z nimi specjalnie męczył. Udostępnij ten post Link to postu Udostępnij na innych stronach
peres.pro 9 Zgłoś post Napisano Maj 5, 2012 A np. żeby wyświetlał takie które dłużej się wykonują ? Udostępnij ten post Link to postu Udostępnij na innych stronach
patryk 451 Zgłoś post Napisano Maj 5, 2012 http://dev.mysql.com/doc/refman/5.0/en/slow-query-log.html Udostępnij ten post Link to postu Udostępnij na innych stronach
peres.pro 9 Zgłoś post Napisano Maj 5, 2012 (edytowany) Doszedłem do wniosku że silnik jest głównie obciążany przez nieustanne spamowanie pojedyńczych i tych samych zapytań które same w sobie wykonują się jedna za drugą, krótko ale jest ich multum, jak coś takiego wykryć ? Edytowano Maj 5, 2012 przez lanceq (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
regdos 1848 Zgłoś post Napisano Maj 5, 2012 Nie bardzo rozumiem o co w tym powyższym chodzi. Baza danych jest od tego żeby wykonywa zapytania i jeżeli nie wykonują się długo (brak ich w slow query) to znaczy, ze są ok. Jakie masz objawy? Może to problem z IO wait a nie bazą danych? Ten silnik nie ma jakiegoś trybu debug i pomiaru czasu na poszczególne rzeczy - sql/aplikacja? Udostępnij ten post Link to postu Udostępnij na innych stronach
peres.pro 9 Zgłoś post Napisano Maj 5, 2012 To TFS, silnik pod OTS'y wykorzystuje połączenie z mysql'em. Objaw to 100% procka, chce dokładnie wiedzieć jakie zapytanie wywołuje te 100% procesora, problem nie pojawia się od razu po odpaleniu ale gdy np. do gry wbije z 20 graczy, zakładam że ktoś wywołuję jakąś komendę przez OTS typu !online, !frags itd. która wywołuje zapytania w dużej ilości i obciąża tym samym procek. Co do tego wyżej chodziło mi o bardzo dużą ilość wykonywania konkretnego zapytania które wykonuję się szybko ale po prostu jest spamowane. Udostępnij ten post Link to postu Udostępnij na innych stronach
Piotrek Mazurkiewicz 19 Zgłoś post Napisano Maj 6, 2012 (edytowany) Bawiłem się w TFS z dobre 3 lata temu i generował on logi, więc lepiej zajrzeć w nie niż szukać gdzie indziej przyczyny. Zawsze można w silniku, jak i pewnie w configu ustawić exhausta na komendy. Poza tym, co jak co ale TFS to kawał dobrej i darmowej roboty, który trzyma największe serwery bez zająknięcia. Edytowano Maj 6, 2012 przez Piotrek Mazurkiewicz (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
peres.pro 9 Zgłoś post Napisano Maj 6, 2012 (edytowany) Bawiłem się w TFS z dobre 3 lata temu i generował on logi, więc lepiej zajrzeć w nie niż szukać gdzie indziej przyczyny. Zawsze można w silniku, jak i pewnie w configu ustawić exhausta na komendy. Poza tym, co jak co ale TFS to kawał dobrej i darmowej roboty, który trzyma największe serwery bez zająknięcia. Nie do końca masz racje, logi z tfs'a nie wykryją spamowania querryiesami, jedynie błedy skryptów, poczynania graczy i broadcast. Dlatego potrzebuje log z zapytań. Edytowano Maj 6, 2012 przez lanceq (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
Piotrek Mazurkiewicz 19 Zgłoś post Napisano Maj 6, 2012 (edytowany) Zerknij tutaj, ale z tego co teraz wyszperałem to raczej problem silnika http://otland.net/f1...-0-3-6-a-69864/ A zapytania prawdopodobnie podejrzysz tak: http://www.howtogeek...eries-in-mysql/ Edytowano Maj 6, 2012 przez Piotrek Mazurkiewicz (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach