Strona 1 z 1

Wzrost liczby wierszy pobranych z db

: 25 września 2020, 07:16
autor: Robo
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

Re: Wzrost liczby wierszy pobranych z db

: 28 września 2020, 07:52
autor: vader
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!

Re: Wzrost liczby wierszy pobranych z db

: 28 września 2020, 18:53
autor: Robo
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.

Re: Wzrost liczby wierszy pobranych z db

: 29 września 2020, 10:37
autor: vader
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.

Re: Wzrost liczby wierszy pobranych z db

: 03 października 2020, 12:56
autor: Robo
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.

Re: Wzrost liczby wierszy pobranych z db

: 14 października 2020, 19:48
autor: Robo
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?

Re: Wzrost liczby wierszy pobranych z db

: 15 października 2020, 11:23
autor: vader
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?

Re: Wzrost liczby wierszy pobranych z db

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

Re: Wzrost liczby wierszy pobranych z db

: 19 października 2020, 07:32
autor: Robo
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?

Re: Wzrost liczby wierszy pobranych z db

: 19 października 2020, 09:27
autor: vader
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?

Re: Wzrost liczby wierszy pobranych z db

: 19 października 2020, 10:37
autor: Robo
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ść.

Re: Wzrost liczby wierszy pobranych z db

: 19 października 2020, 12:41
autor: vader
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ę?

Re: Wzrost liczby wierszy pobranych z db

: 19 października 2020, 13:04
autor: Robo
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.

Re: Wzrost liczby wierszy pobranych z db

: 21 października 2020, 13:05
autor: Robo
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.

Re: Wzrost liczby wierszy pobranych z db

: 21 października 2020, 18:49
autor: vader
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ą.