Pagina 1 din 1

Poate PHPBB sa blocheze Mysql?

Scris: 25-Feb-2010, 07:47:55
de tenis
Salut,
Administrez un forum PHPBB3, versiunea 3.0.6, cu destul de multe moduri.
Avem peste 1800 de useri, 450-500 din ei viziteaza zilnic, cam 80-90 sunt online nonstop (conform statisticilor).
Am specificat asta deoarece poate avea relevanta pentru intrebarea care urmeaza:
Forumul e hostat la un prieten al proprietarului siteului (eu sunt doar adminul), care e in domeniul hostingului..

Necazurile:
1. In ultima vreme, la fiecare modificare pe care o faceam, moduri noi, upgrade de PHPBB, pentru care eu faceam neaparat backup la BD de aproximativ 250 MB, "prietenul" oprea siteul. Mi s-a spus ca se face trafic prea mare, ca Mysql face prea multe requesturi si blocheaza restul de siteuri hostate de prietenul respectiv.
2. Ieri "prietenul" respectiv a inchis forumul exact cu aceleasi motive. A zis ca nu a mai reusit nici macar sa intre in Mysql de pe server, a trebuit sa opreasca agentul si sa dea disable la contul nostru ca sa poata porni din nou serviciul Mysql. Ca i-a afectat functionalitatea celorlalte siteuri. Momentan forumul nostru e inca oprit.

Intrebare:
Credeti ca e posibil asa ceva? Poate PHPBB sa blocheze Mysql, poate face atat de multe cereri incat sa blocheze un intreg server?? PHPBB e ultima versiune, acum o luna am sters toate fisierele prin FTP si am pus ultima versiune. Modificarile pe care le-am facut sunt toate de pe siteul oficial PHPBB si toate sunt din sectiunea validate, nici macar un mod nu e luat de pe alt site si nu e "developement".
Sau poate e un tertip al "prietenului" de a scapa de o hostare cu mult trafic cum e a noastra?

Multumesc anticipat pentru sfaturi.

Re: Poate PHPBB sa blocheze Mysql?

Scris: 25-Feb-2010, 14:28:10
de bogdan
Forumul in starea "originala" ar trebui sa se miste foarte bine. Faptul ca sunt adaugate MOD-uri ar putea afecta performanta acestuia (acestea nu cred ca sunt analizate dpdv al performantei in detaliu). In plus conteaza si configuratia mysql-ului, tipul de stocare (MyISAM vs Innodb), ce alte aplicatii ruleaza pe baza de date, ...

Luand un exemplu din lista celor mai mari forumuri phpBB - http://www.bokt.nl/forums - la o medie de 1400 de useri online se pare ca se misca foarte bine (nu e foarte clar ce software foloseste in backend pentru baza de date dar avem informatii despre hardware:
Hardware: Database: Athlon 64 X2 3800+, 4GB RAM, 2x Raptor 74GB, 2x SATA 300GB Maxtor Maxline III Webserver: Athlon 64 X2 3800+, 2GB RAM, 2x WD 80GB IDE (serverul web e Apache din cate se pare)
Software: Debian Linux

Ca si recomadari:
- dezactiveaza cautarile pentru vizitatori; asigura-te ca ai activat metoda de cautare Fulltext mysql din Panoul administratorului->Configurare server->Setari cautare->Căutare backend (pentru optimizare eventual poti folosi Sphinx search for phpBB MOD pe care se bazeaza si cei de la phpbb.com si va fi inclus in phpBB 3.2)
- foloseste doar acele MOD-uri pe care le consideri strict utile
- roaga prietenul sa iti trimita log-ul de pe serverul bazei de date sa vezi cate SQL se ruleaza si ce consuma multe resurse
- nu stiu in ce masura mySQL e optimizat si cat de bine se pricepe prietenul tau. (o resursa buna: http://www.mysqlperformanceblog.com/ ; o carte buna de la editura O'Reilly High Performance MySQL: Optimization, Backups, Replication, and More (daca ai nevoie de ea ti-o pot trimite)
- nu in ultima instanta: ia in considerare mutarea pe un alt host (eventual unul care ofera PostgreSQL - mai scalabil decat mySQL); sunt destul de multe pe net si la preturi mici.

Re: Poate PHPBB sa blocheze Mysql?

Scris: 25-Feb-2010, 19:31:24
de tenis
Multumesc de raspuns.
Deocamdata am activat Fulltext mysql.
Incerc sa fac rost de loguri pentru a vedea ce query-uri ruleaza si care mananca cele mai multe resurse.
Se pare ca cele 250 de conexiuni pe care le are setate in Mysql au fost ocupate de PHPBB3 in mare majoritate.

Re: Poate PHPBB sa blocheze Mysql?

Scris: 26-Feb-2010, 00:25:19
de bogdan
Excelent.

Daca poti limiteaza si accesul vizitatorilor (inclusiv al botilor) la cautare dupa ce verifici log-ul bazei de date modificand fisierul search.php aflat in radacina forumului: cauta linia // Check search load limit si adauga sub aceasta secventa de cod de mai jos dupa care cureti cache-ul si reimprospatezi sablonul

Cod: Selectaţi tot

if ($user->data['user_id'] == ANONYMOUS)
{
$template->assign_var('S_NO_SEARCH', true);
trigger_error('NO_SEARCH');
}

Re: Poate PHPBB sa blocheze Mysql?

Scris: 26-Feb-2010, 10:04:22
de tenis
bogdan scrie:Excelent.

Daca poti limiteaza si accesul vizitatorilor (inclusiv al botilor) la cautare dupa ce verifici log-ul bazei de date modificand fisierul search.php aflat in radacina forumului: cauta linia // Check search load limit si adauga sub aceasta secventa de cod de mai jos dupa care cureti cache-ul si reimprospatezi sablonul

Cod: Selectaţi tot

if ($user->data['user_id'] == ANONYMOUS)
{
$template->assign_var('S_NO_SEARCH', true);
trigger_error('NO_SEARCH');
}
Nu e acelasi lucru daca pun optiunea "NU" la "Poate căuta în forum" din permisiuni?
Ma refer la grupurile "vizitatori" si "boti" ?
Din cate am inteles Mysql-ul nostru primeste multe query-uri de UPDATE in tabelele phpbb_log si phpbb_users.
Ce e ciudat e ca problema nu apare tot timpul, apare aleator. Ma gandesc sa nu fie un atac, o sa verificam daca toate aceste cereri nu vin cumva de pe un singur IP.

Re: Poate PHPBB sa blocheze Mysql?

Scris: 26-Feb-2010, 15:16:46
de bogdan
Da, poti si de acolo. Eventual poti dezactiva accesul si la link-ul Membrii si Echipa pentru vizitatori/boti.

Verifica si cate inregistrari ai in phpbb_log si phpbb_users; eventual ruleaza si Optimize/Analyze pe aceste doua tabele din phpMyAdmin.

Poti deschide un tichet la phpBB.com in functie de tipul problemei:
- bug: http://www.phpbb.com/bugs/phpbb3/
- incident: http://www.phpbb.com/incidents/phpbb3/
- securitate: http://www.phpbb.com/security/phpbb3/