Wzrost liczby wierszy pobranych z db

Pomoc przy instalacji oraz użytkowaniu phpBB 3.3.x. Forum nie służy do zgłaszania znalezionych błędów, innowacji lub problemów związanych ze stylami i rozszerzeniami.
Robo
Posty: 9
Rejestracja: 25 września 2020, 06:02

Wzrost liczby wierszy pobranych z db

Post autor: Robo » 25 września 2020, 07:16

Dzień dobry

Mam następujący problem i chciałbym dopytać, czy może ktoś z Was miał podobny, wie gdzie szukać rozwiązania, jaka jest tego przyczyna itp.

Pomagam przy aktualizacji forum https://weryfikatorium.pl/forum
Jest to forum literackie z mnóstwem postów (248 tys 982 posty) i sporą liczbą użytkowników (ponad 4 tys zarejestrowanych, choć aktywnych jest dużo mniej, a i spamerów przynosi co chwilę. Ale ruch jest, choć pewnie nie jest to największe forum na świecie ;)
Obrazek

Do tej pory forum działało na silniku 3.1.8, ale postanowiliśmy coś z tym zrobić i 18-tego po południu wykonałem upgrade do najnowszej wersji, zgodnie z wytycznymi na phpbb. Wcześniej przez dwa miechy, popołudniami działałem no kopii forum, dostosowywałem extensions, by działały na nowej wersji, jeśli oficjalnie nie miały wsparcia, cy wersji działającej z 3.3.x.

Od tego czasu (19.09) zauważyliśmy nagły wzrost zużycia procka (hosting na nazwa.pl), oraz ponad limit wzrost liczby wierszy pobieranych z bazy danych.
Poniżej staty nazwy:
ObrazekObrazekObrazekObrazekObrazek

Dodam, że w końcu zwiększyłem przestrzeń dla bazy danych, wyczyściłem tabelę search_wordmatch i włączyłem reindeksację z poziomu panelu admina phpbb. Baza rozrosła się z ~800MB (gdy pusta tabela wordmatch), do 2GB. Ale wyszukiwarka zaczęła działać. :)

Moje pytanie podstawowe to co mogło spowodować nagły wzrost zużycia procka i pobierania wierszy z db. Opróżniony cache? Działająca wyszukiwarka (Wyszukiwania na phpBB Native Fulltext)

Kilka szczegółów:
PHP: 7.2.x
Baza danych: MariaDB 10.5
wersja phpBB: v.3.3.1
styl: Ravaio od Gramziu (zakupiony na themeforest (https://themeforest.net/item/ravaio-mod ... e/13123186), i dostosowany do potrzeb forum). Oprócz tego jest ocywiście ProSilver, ale nieaktywny.
polski pakiet językowy stąd - dzięki :)
ext:
  • Advanced BBCode Box (modyfikowany przeze mnie, dostosowany styl)
  • Auto Groups
  • Board Announcements
  • Board Rules
  • Collapsible Forum Categories
  • Display Last Post
  • Genders
  • Google Analytics
  • mChat
  • Posts merging
  • QuickReply Reloaded - o z tym to się nawalczyłem, żeby chciało działać. Głównie javascript modyfikowałem, ale nie te części odpowiedzialne za komunikację z backendem. Tylko frontend.
  • RH Topic Tags
  • Robo Configuration 2 - to jest ext powiązana ze stylem, daje kilka dodatkowych możliwości, między innymi warianty kolorystyczne.
  • Search user topics
Jestem programistą, frontendowcem, czyli głównie style i js, ale php też znam (i tam parę innych rzeczy ;) ). Nie znam niestety na tyle silnika phpBB, żeby od razu się zorientować o co biega. Myślałem, że to może kwestia czyszczenia cache. Gdy dodawałem jakąś poprawkę, czyściłem cache. Ale od kilku dni nie dodaję niczego, nie naprawiam niedociągnięć, bo się boję przekroczenia limitów na hostingu :P. Testuję sobie na oddzielnym hoście, poza nazwą.

Pozdrawiam
Tomasz Wolny

ps. a przy okazji - Co to za rozszerzenie macie tutaj zainstalowane, przy rejestracji pyta mnie o składniki do pomidorówki. Jak to to się nazywa? :P

vader
Moderator
Posty: 1120
Rejestracja: 19 kwietnia 2015, 14:44
Lokalizacja: Kraków
Kontakt:

Re: Wzrost liczby wierszy pobranych z db

Post autor: vader » 28 września 2020, 07:52

Cześć,
Robo pisze:
25 września 2020, 07:16
ps. a przy okazji - Co to za rozszerzenie macie tutaj zainstalowane, przy rejestracji pyta mnie o składniki do pomidorówki. Jak to to się nazywa?
Tutaj od razu pomogę. Sortable Captcha https://www.phpbb.com/customise/db/exte ... s_captcha/

Co do zużycia zasobów, może być problem z botami. Zacznij może od wrzucenia w główny katalog forum pliku robots.txt z zawartością jak poniżej. Też przez chwilę miałem problem z wydajnością.
https://raw.githubusercontent.com/mitch ... robots.txt

Sprawdź też kompresję na forum .gzip w menu Obciążenie serwera. Dodatkowo możesz dodać w pliku .htaccess AddOutputFilterByType DEFLATE https://mansfeld.pl/webhosting/gzip-czy ... co-wybrac/

Zobaczyłem komunikat na forum
Nadal to bardzo ważne, by ewentualne skróty w przeglądarkach, zapisany adres wery, zmienić na zaczynający się od https:// w przeciwnym wypadku będzie Was nieustannie wylogowywać i zmuszać do logowania po każdy wejściu.
Dodaj w pliku .htaccess przekierowanie http na https

Kod: Zaznacz cały

RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
ps. jedna z niewielu osób, która rzeczowo opisuje problem. Podaje konkretne dane, od razu można przejść do rzeczy. Brawo!

Robo
Posty: 9
Rejestracja: 25 września 2020, 06:02

Re: Wzrost liczby wierszy pobranych z db

Post autor: Robo » 28 września 2020, 18:53

Dziękuję serdecznie za odpowiedź. Martwiłem się, że jakiejś informacji nie podałem, lub regułę ominąłem i dlatego za karę, nie będzie mojego pytania na forum :P
Zalatany chyba jesteś?
Pomógłbym, ale phpbb jeszcze nie znam na tyle, by czuć się kompetentnym.

Dzięki za info o dodatku, brakuje mi, żebym mógł wiele takich list/tabel dodać/skonfigurować i by przy rejestracji losował zestaw. Może taki napiszę? :hm:

Dzięki za info o botach, fahofcy z nazwa potwierdzili, że to boty szaleją. Na globalnym forum phpBB zasugerowano, że winę może ponosić cron i reparsing postów/podpisów/PM'ów. Ale po wyłączeniu cron`a phpBB, ruch nie osłabł. I tak dziwne, bo korzystając z cli, reparsing wywołałem sam i nie trwał zbyt długo.

No nic. Dzięki jeszcze raz.

vader
Moderator
Posty: 1120
Rejestracja: 19 kwietnia 2015, 14:44
Lokalizacja: Kraków
Kontakt:

Re: Wzrost liczby wierszy pobranych z db

Post autor: vader » 29 września 2020, 10:37

Robo pisze:
28 września 2020, 18:53
Dziękuję serdecznie za odpowiedź. Martwiłem się, że jakiejś informacji nie podałem, lub regułę ominąłem i dlatego za karę, nie będzie mojego pytania na forum
Zalatany chyba jesteś?
Miałem zajęty weekend po prostu 8-)
Robo pisze:
28 września 2020, 18:53
Dzięki za info o dodatku, brakuje mi, żebym mógł wiele takich list/tabel dodać/skonfigurować i by przy rejestracji losował zestaw. Może taki napiszę? :hm:
Trzeba skonfigurować tą wtyczkę w ACP > Ogólne > Zabezpieczenie antyspamowe (piszę z pamięci). Tam ustawiasz pytanie i dobre/złe odpowiedzi.
Robo pisze:
28 września 2020, 18:53
Dzięki za info o botach, fahofcy z nazwa potwierdzili, że to boty szaleją. Na globalnym forum phpBB zasugerowano, że winę może ponosić cron i reparsing postów/podpisów/PM'ów. Ale po wyłączeniu cron`a phpBB, ruch nie osłabł. I tak dziwne, bo korzystając z cli, reparsing wywołałem sam i nie trwał zbyt długo.
Myślałem też o cronie, ale zacząłbym od botów właśnie. Ze 2-3x jak spojrzałem na twoje forum, że masz dużo gości online, a to może sugerować boty. Plik robots.txt powinien ograniczyć mocno ich ruch. Daj znać czy coś to zmieni.

Robo
Posty: 9
Rejestracja: 25 września 2020, 06:02

Re: Wzrost liczby wierszy pobranych z db

Post autor: Robo » 03 października 2020, 12:56

Podsumowanie:

1. Boty zostały unieszkodliwione. Plik robots.txt, oraz reguły w .htaccess dostosowane. Przy okazji - korzystając z 7G Firewall, przetestowałem i dostosowałem (tak myślę) do potrzeb phpBB, zestaw wpisów do pliku .htaccess. Może się komuś przyda, więc umieściłem na GitHubie, o tutaj. Pliki "7G_log.*" nie są wymagane. Nadają się do testów.

A, i dzięki vader za podpowiedź w kwestii kompresji plików przy response servera.

2. Trzy rzeczy brałem pod uwagę: boty, cron i samo czyszczenie bufora (cache), po każdej drobnej zmianie w ustawieniach, czy w plikach ext lub stylu. Okazało się, że największym problemem dla hosta, była opcja trzecia. Co prawda boty obciążały generalnie serwer, ale nagły wzrost liczby odczytów wierszy z bazy danych, to kwestia właśnie czyszczenia cache.

Robo
Posty: 9
Rejestracja: 25 września 2020, 06:02

Re: Wzrost liczby wierszy pobranych z db

Post autor: Robo » 14 października 2020, 19:48

vader pisze:
29 września 2020, 10:37

Myślałem też o cronie, ale zacząłbym od botów właśnie. Ze 2-3x jak spojrzałem na twoje forum, że masz dużo gości online, a to może sugerować boty. Plik robots.txt powinien ograniczyć mocno ich ruch. Daj znać czy coś to zmieni.
Niestety problem występuje nadal :(
boty poblokowane - gości ukrytych mam teraz kilku - kilkunastu max (w porównaniu do 200 wcześniej). Cron - uruchamiany raz na godzinę - ustawiłem na hostingu. Nie aktualizowałem przez tydzień stylów itp. Nie mam pojęcia co to może być...

Można jakoś włączyć logowanie zapytań? Tak by można było dojść skąd i kiedy wyskakują żądania kończące się odczytem dużej ilości wierszy z bazy?

vader
Moderator
Posty: 1120
Rejestracja: 19 kwietnia 2015, 14:44
Lokalizacja: Kraków
Kontakt:

Re: Wzrost liczby wierszy pobranych z db

Post autor: vader » 15 października 2020, 11:23

Robo pisze:
14 października 2020, 19:48
Można jakoś włączyć logowanie zapytań? Tak by można było dojść skąd i kiedy wyskakują żądania kończące się odczytem dużej ilości wierszy z bazy?
Takie rzeczy to tylko po stronie hostingu i tam bym mocno poszukał, co tak generuje ruch. phpBB nie ma tego typu monitoringu.

Masz na stronie google analitics?

Robo
Posty: 9
Rejestracja: 25 września 2020, 06:02

Re: Wzrost liczby wierszy pobranych z db

Post autor: Robo » 16 października 2020, 14:42

vader pisze:
15 października 2020, 11:23
Masz na stronie google analitics?
Dobre pytanie. Sprawdzę.

Robo
Posty: 9
Rejestracja: 25 września 2020, 06:02

Re: Wzrost liczby wierszy pobranych z db

Post autor: Robo » 19 października 2020, 07:32

vader pisze:
15 października 2020, 11:23
Masz na stronie google analitics?
- jest GA, ale nie jestem pewien czy podstawowa konfiguracja coś pomoże. Widzę ruch użytkowników. Nic tam o botach nie ma. Widzę na jakie wchodzą strony, kiedy z wyszukiwarki korzystają itp. Nie mam pojęcia.
Może wersja 3.3 phpbb tak po prostu ma, że bardziej korzysta z zapytań do bazy? Na ile to może być problem stylu?

vader
Moderator
Posty: 1120
Rejestracja: 19 kwietnia 2015, 14:44
Lokalizacja: Kraków
Kontakt:

Re: Wzrost liczby wierszy pobranych z db

Post autor: vader » 19 października 2020, 09:27

Robo pisze:
19 października 2020, 07:32
Na ile to może być problem stylu?
Może testowo warto zmienić styl na 2-3dni? Sprawdzałeś logo serwera, oprócz informacji o obciążeniu, coś więcej się pojawia?

Robo
Posty: 9
Rejestracja: 25 września 2020, 06:02

Re: Wzrost liczby wierszy pobranych z db

Post autor: Robo » 19 października 2020, 10:37

vader pisze:
19 października 2020, 09:27
Może testowo warto zmienić styl na 2-3dni?

O tym samym dzisiaj pomyślałem. Trzeba będzie sprawdzić.
Sprawdzałeś logo serwera, oprócz informacji o obciążeniu, coś więcej się pojawia?
Masz logi na myśli? No właśnie nic, czego bym nie wiedział, co jakieś niezwykłe by miało być... Boty dostające 403 na "twarz", poza tym normalna aktywność.

vader
Moderator
Posty: 1120
Rejestracja: 19 kwietnia 2015, 14:44
Lokalizacja: Kraków
Kontakt:

Re: Wzrost liczby wierszy pobranych z db

Post autor: vader » 19 października 2020, 12:41

A jakieś wtyczki może? Tak samo wyłączyć z 1-2dni? Jakiś cron nie szaleje? Ograniczyć możliwość wyszukiwania na forum lub po prostu wyłączyć na chwilę?

Robo
Posty: 9
Rejestracja: 25 września 2020, 06:02

Re: Wzrost liczby wierszy pobranych z db

Post autor: Robo » 19 października 2020, 13:04

vader pisze:
19 października 2020, 12:41
A jakieś wtyczki może? Tak samo wyłączyć z 1-2dni? Jakiś cron nie szaleje? Ograniczyć możliwość wyszukiwania na forum lub po prostu wyłączyć na chwilę?
narzędzia wyszukiwania sprawdziłem. Wszystkich wtyczek (ext) jeszcze nie testowałem w ten sposób, ale wszystkie są po aktualizacjach do najnowszych wersji. Na poprzednim silniku (3.1.8) nie było z nimi problemów. Ja wiem, to trochę mało, że "nie było problemów". Bo kto wie co "popsuli" developerzy :P Jeszcze podejrzewam mChata i abbc3.

Robo
Posty: 9
Rejestracja: 25 września 2020, 06:02

Re: Wzrost liczby wierszy pobranych z db

Post autor: Robo » 21 października 2020, 13:05

mChat okazał się naszym wichrzycielem :P
Po wyłączeniu liczba pobranych wierszy spadła do minimum. Tylko to może nie sam mchat, tylko rozrośnięta banlista i tabela z sesjami.

vader
Moderator
Posty: 1120
Rejestracja: 19 kwietnia 2015, 14:44
Lokalizacja: Kraków
Kontakt:

Re: Wzrost liczby wierszy pobranych z db

Post autor: vader » 21 października 2020, 18:49

Fajnie, że się udało ustalić powód. Może mają jakiś błąd? Tam jest odświeżanie wiadomości co jakiś czas. Może jeszcze coś innego? Warto skontaktować się z autorem, może to po prostu błąd mChat, który występuję w specyficznej sytuacji. Ja tak miałem z jedną wtyczką.

ODPOWIEDZ

Wróć do „Użytkowanie”