![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 242 Pomógł: 0 Dołączył: 28.11.2014 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Na wstępie chciałbym powiedzieć że jestem zielony jeżeli chodzi o linuxa i prosiłbym o pisanie jak najbardziej zrozumiale. Posiadam sporą bazę MySQL która strasznie przymula. Uruchomiłem MySQLTuner który pokazał mi coś takiego : http://wklej.org/id/1633653/ Szukałem tych linijek w my.cnf tmp_table_size (> 16M) max_heap_table_size (> 16M) Jednak ich nie znalazłem. Proszę o wyjaśnienie jak najprościej się da co mogę zrobić aby poprawić wydajność. Pozdrawiam. @edit Dopisałem to do my.cnf tmp_table_size = 16M max_heap_table_size = 16M I teraz ten komunikat na samym dole zniknął. Co jeszcze mogę zrobić ? Ten post edytował Gruchol 12.02.2015, 22:26:37 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 340 Pomógł: 46 Dołączył: 31.07.2009 Skąd: A Ostrzeżenie: (0%) ![]() ![]() |
tak naprawdę to nie wiadomo co oznacza przymula, wiesz jak masz bazę na kiepskiej maszynie to może tu jest problem
![]() pyzatym zawsze możesz sprawdzić jakie zapytania trwają najdłużej, może brakuje indeksów ograniczyć liczbę zapytań do bazy stosując rożne formy cachowania |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 242 Pomógł: 0 Dołączył: 28.11.2014 Ostrzeżenie: (0%) ![]() ![]() |
A czy istnieje jakaś aplikacja która pozwoli mi sprawdzić które zapytanie wykonuje się najdłużej ?
Co do słabej maszyny, baza stała na maszynie 6gb ramu 4x3.0 ghz i tam było praktycznie to samo. Teraz zrobiłem tak że mysql stoi na osobnej maszynie a na osobnej stoi php5, nginx itp. Jest trochę lepiej jednak nadal strona strasznie wolno chodzi. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 421 Pomógł: 310 Dołączył: 18.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
Przejrzyj slow.log.
W pliku my.cnf masz zdefiniowane, gdzie leży: log_slow_queries = /var/log/mysql/mysql-slow.log long_query_time = 2 log-queries-not-using-indexes |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 242 Pomógł: 0 Dołączył: 28.11.2014 Ostrzeżenie: (0%) ![]() ![]() |
A co muszę zrobić aby te błędy naprawić ?
[ ![]() [ ![]() |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Olać, to mówi że masz odpalone InnoDB ale nie używasz tego nigdzie i że 2 tabele mozna zoptymalizować (zdrefragmentować)
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 242 Pomógł: 0 Dołączył: 28.11.2014 Ostrzeżenie: (0%) ![]() ![]() |
Kupiłem lepszego VPSa pod bazę (3gb ramu, 2x2,5 GHZ) i cały czas muli tak samo.
A mysqltuner pokazuje : http://wklej.org/id/1634295/ Już nie wiem co mam zrobić :/ |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
a co zwraca slow.log o które prosił @mmmmmmm
![]() |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 1 933 Pomógł: 460 Dołączył: 2.04.2010 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Kupiłem lepszego VPSa pod bazę (3gb ramu, 2x2,5 GHZ) i cały czas muli tak samo. A mysqltuner pokazuje : http://wklej.org/id/1634295/ Już nie wiem co mam zrobić :/ Muli, bo musi mulić - widocznie aplikacja, która korzysta z bazy jest mało optymalnie napisana. Przedstaw jakieś przykładowe zapytania z podstrony, która najbardziej muli. Zabrałeś się do tego, za przeproszeniem, od d... strony, kupując od razu nowy vps. Najpierw optymalizujesz zapytania, triggery, indexy, funkcje jak to nie pomaga to lepszy sprzęt. -------------------- Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 242 Pomógł: 0 Dołączył: 28.11.2014 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
To teraz zopytmalizuj te zapytanie a serwis zacznie latać.
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 242 Pomógł: 0 Dołączył: 28.11.2014 Ostrzeżenie: (0%) ![]() ![]() |
Niestety nie znam się aż tak bardzo aby optymalizować skrypty :/
W moim pliku to zapytanie wygląda tak :
Był bym bardzo wdzięczny gdybyś pomógł mi to zoptymalizować. |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Zerknij to:
A jak to nie zadziała to sprawdź czy masz indeksy na polach: user_data.guild_id guilds.guild_id user_data.user_id |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 242 Pomógł: 0 Dołączył: 28.11.2014 Ostrzeżenie: (0%) ![]() ![]() |
Nadal jest tak samo :/
(Tzn. aktualnie nie mam możliwość sprawdzenia czy kod działa jednak po wgraniu go muli cały czas tak samo :/ ) Ten post edytował Gruchol 13.02.2015, 16:51:24 |
|
|
![]()
Post
#15
|
|
![]() Grupa: Zarejestrowani Postów: 1 045 Pomógł: 141 Dołączył: 19.09.2006 Skąd: B-tów Ostrzeżenie: (0%) ![]() ![]() |
pokaż wynik |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 1 933 Pomógł: 460 Dołączył: 2.04.2010 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Zerknij to:
A jak to nie zadziała to sprawdź czy masz indeksy na polach: user_data.guild_id guilds.guild_id user_data.user_id Wg mnie ten join, tylko po to, żeby zrobić counta jest tu niepotrzebny. Podzapytanie sobie lepiej poradzi.
W ogóle to trochę bez sensu, żeby robić joina tylko po to, żeby zrobić counta. Już lepszym rozwiązaniem by było:
-------------------- Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
|
|
|
![]()
Post
#17
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Może i tak, nie robiłem testów
![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 18.06.2025 - 02:31 |