Strona 1 z 1

Optymalizacja bazy? (3.2.x)

: 04 marca 2020, 12:17
autor: mpaw
Dzień dobry.

Poszukuję informacji n/t optymalizacji bazy forum. Jest serwer, który obsługuje kilkanaście(dziesiąt) domen i forów. Wszystkie są umieszczone na jednym serwerze. Jednak jedno z forów co jakiś czas przytyka bazę, co powoduje niemożliwość korzystania z innych domen. Wszystko się blokuje. Poproszono mnie o sprawdzenie możliwości optymalizacji bazy. Jednak nie wiem, na czym owa optymalizacja, miałaby polegać. Proszę o podpowiedź.

Dzięki
Michał

Re: Optymalizacja bazy? (3.2.x)

: 04 marca 2020, 12:46
autor: vader
W bazie danych z czasem powstają nadmiarowe dane (ang. overhead), które można usunąć. Na tym polega optymalizacja.

Dodatkowo z tego co rozumiem, jedna baza danych obsługuje kilka stron? To bardzo zła praktyka.

Zaloguj się przez phpMyAdmin do bazy danych i zaznacz nieoptymalne tabele > optymalizuj. (Zrób wcześniej kopie bazy!)

Dodatkowo możesz wykonać poniższe zapytanie SQL do bazy i pokaż wynik.

Kod: Zaznacz cały

SELECT 
     table_schema as `Database`, 
     table_name AS `Table`, 
     round(((data_length + index_length) / 1024 / 1024), 2)  
FROM information_schema.TABLES 
ORDER BY (data_length + index_length) DESC;

Re: Optymalizacja bazy? (3.2.x)

: 04 marca 2020, 12:53
autor: mpaw
Dziękuję za odpowiedź.

Właściciel serwera zgłaszał, że optymalizacja tabel dla tego serwisu, o którym mówiłem, powoduje zawieszenie całej bazy i wszystkich innych baz dla innych serwisów, stojących na tym samym serwerze. Dodatkowo optymalizacja, dla tego serwisu, jak wspominał właściciel, trwa o wiele wiele dłużej, niż na innych serwisach (ponad 10 minut).

Co tu można poradzić?

Dzięki
Michał

PS.
Dodatkowo, optymalizacja baz innych serwisów trwa kilka minut i nie zawiesza całego serwera
PS.

Wynik zapytania (ukryłem nazwę bazy)

Kod: Zaznacz cały

Database	Table	round(((data_length + index_length) / 1024 / 1024), 2)
	phpbb3_search_wordmatch	909.52
	phpbb3_posts	875.14
	phpbb3_posts_back	327.36
	phpbb3_sortables_confirm	272.50
	phpbb3_privmsgs	97.70
	phpbb3_search_wordlist	58.63
	phpbb3_topics_track	41.03
	phpbb3_user_notifications	37.56
	phpbb3_privmsgs_to	33.35
	phpbb3_users	20.87
	phpbb3_topics	16.85
	phpbb3_log	12.48
	phpbb3_sessions_keys	7.12
	phpbb3_attachments	4.19
	phpbb3_sessions	4.13
	phpbb3_notifications	3.89
	phpbb3_user_group	3.38
	phpbb3_topics_posted	2.91
	phpbb3_profile_fields_data	2.70
	phpbb3_topics_watch	1.41
	phpbb3_forums_track	1.25
PS.
Dodałem tylko te powyżej (1.0)

PS.

Czy można sprawdzić, jeżeli tak, to jak, jakie dane są przesyłane podczas odświeżenia strony przez zalogowanego usera (niezalogowanego też)? Szukałem jakiś programów, ale nie znam się na tym. Może są wysyłane znaczne ilości danych, co powoduje zapchnięcie sieci i bazy?

Re: Optymalizacja bazy? (3.2.x)

: 04 marca 2020, 15:50
autor: vader
To chyba coś nie tak z serwisem, skoro optymalizacja zawiesza cała bazę danych. Zastanawiam sie również co to za tabela post_back oraz dlaczego sortables_confirm tak dużo zajmuje.

Podrzuć listę rozszerzeń, z których korzystasz.

Takie generowanie dużego ruchu może być również spowodowane przez dużą liczbę użytkowników. Możesz użyć google analitics do zobaczenia liczby odwiedzin.

Re: Optymalizacja bazy? (3.2.x)

: 05 marca 2020, 16:20
autor: mpaw
Podrzucę rozszerzenia jak rozwiążę proble z pocztą.

Re: Optymalizacja bazy? (3.2.x)

: 06 marca 2020, 09:11
autor: vader
Między czasie możesz podesłać ;) Rozwiązanie jednego problemu, nie wyklucza drugiego.

Re: Optymalizacja bazy? (3.2.x)

: 07 marca 2020, 08:32
autor: mpaw
dodatki.png
dodatki
(6.7 KiB) Pobrany 633 razy

Re: Optymalizacja bazy? (3.2.x)

: 07 marca 2020, 09:25
autor: vader
Na pewno w bazie danych masz śmieci, pozostałości źle odinstalowanych rozszerzeń (usunięte pliki bez usuniętych danych). Jest niby STK na rosyjskim forum do phpBB 3.2.x, nie wiem czy też 3.3.0.