Seite 2 von 5
Verfasst: 03.11.2003 22:26
von Chrischn25
Hallo Philipp,
klar - hier:
Code: Alles auswählen
phpbb_posts 445.194 MyISAM 33,4 MB
phpbb_posts_text 445.195 MyISAM 341,0 MB
Grüße,
Chrischn
Verfasst: 03.11.2003 23:47
von PhilippK
Nun, ganz so wenig Beiträge hast du ja nicht - und die Benutzer scheinen da auch tatsächlich was zu schreiben (ca. 80-100 Wörter pro Antwort). Rechnest du die Daten um, so macht das ca. 12 Zeichen pro Wort - das ist realistisch...
Was du machen kannst: mal den
DB Maintenance Mod drüber laufen lassen - dass könnte ein paar MB bringen...
Gruß, Philipp
Verfasst: 04.11.2003 10:02
von R. U. Serious
Es gibt im phpbb-code im code einen Teil der sehr häufig vorkommende Worte markiert und nicht weiter in die Suchtabellen einträgt. Diese Prüfung muss aber
1) sehr häufig vorkommen
2) ist relativ "teuer"
3) findet bei einer ordentlichen search_stopword datei nur ganz selten wörter.
IMHO kann man die ohne weitere Folgen entfernen. Dazu mache folgendes:
Öffne includes/functions_search.php und kommentiere folgende Zeile aus:
evtl. heisst hat die Zeile auch 4/10 statt 0.4 dort stehen, je nach Version.
Das wird also zu:
Gib bitte Bescheid, wenn es geholfen haben sollte. Danke!
edit: Darüber hinaus habe ich gehört, dass die Indizierungs unter mySQL 4.x spürbar performanter sein soll. Evtl. hilft ein Update von mySQL auch bei deinem performance Problem...
Verfasst: 04.11.2003 10:24
von PhilippK
Wobei natürlich gerade in dem Ausschluss von Wörtern ein nicht gerade unbedeutender Ansatz zur Reduktion des DB-Volumens liegen könnte

Frage am Rande: hast du eine search_stopwords.txt im Einsatz?
Gruß, Philipp
Verfasst: 04.11.2003 10:30
von R. U. Serious
PhilippK hat geschrieben:Wobei natürlich gerade in dem Ausschluss von Wörtern ein nicht gerade unbedeutender Ansatz zur Reduktion des DB-Volumens liegen könnte

Theoretisch ja, und bei manchen Typen von Boards mag das helfen. In den von mir betreuten Foren, wurde nie ein einziges Wort als common markiert. Sprich, das Ding hat Null nutzen gehabt. Und wie aus Chrischn25s query-log hervorgeht, sind die Queries die es so langsam machen aus genau der Funktion die dafür zuständig ist.
(Man muss sich das mal vor Augen halten:
Code: Alles auswählen
$sql = "SELECT m.word_id
FROM " . SEARCH_MATCH_TABLE . " m, " . SEARCH_WORD_TABLE . " w
WHERE w.word_text IN ($word_id_sql)
AND m.word_id = w.word_id
GROUP BY m.word_id
HAVING COUNT(m.word_id) > $common_threshold";
Bei jeder Aktion an einem Post wird für jedes Wort gezählt wie oft es vorkommt. Dazu ein Join der beiden search-tabllen und ein group by mit einem where, dass sich auf string bezieht...)
Also IMHO definitiv einen Versuch wert. Aber wie immer: Your mileage may vary.

Verfasst: 04.11.2003 21:11
von Chrischn25
Hallo zusammen!
Philipp: Ja, die Daten sind realistisch... Den Maintenance-Mod habe ich schon drüberlaufen lassen - die search-table im Test-Forum schon neu aufbauen lassen (dauerte eine Ewigkeit) - hat ausser einer Reduktion gar nichts gebracht. Stopwords habe ich eben mal eingebaut - hilft aber nicht wirklich.
R. U. Serious: remove_common auskommentiert - bisher ohne ersichtlichen Erfolg... Ich lasse es aber mal draußen und logge wieder mit
Ich habe erst vor 3 Wochen auf mySQL 4.x upgedatet - ebenso kein Erfolg.
@euch beide: bringt euch ein Testforum mit einem aktuellen Datenbestand was sowie Zugriff auf meine lokale phpmyadmin? Würde ich ggf. zur Verfügung stellen können...
Ich danke euch mal soweit!
Grüße
Chrischn
edit: remove_common auskommentiert und bis jetzt (nach Neustart des mySQL) noch keine slow-queries. Ich lasse mitloggen... Mal sehen ob sich was tun tut.

Verfasst: 04.11.2003 22:20
von PhilippK
Chrischn,
wie gut ist dein Englisch? Dann würde ich dich nämlich gerne auf das englische phpBB.com verweisen - weil dort wurde schon ein paar mal über extrem große Boards diskutiert. Wenn's daran hapert, würde ich die Anfrage für dich verfassen.
Gruß, Philipp
Verfasst: 07.11.2003 15:27
von Chrischn25
Hallo ihr beiden!
Entschuldigt die lange Antwortzeit. Ich liege krankheitsbedingt (Grippe) im Bett...
R. U. Serious: remove_common auskommentiert - neues log zum Anschauen auf meinem Server
http://www.klein-putz.de/log/slow-query.log
Es hat den Anschein, als würden sich die slow-queries in Grenzen halten und im Durchschnitt ist eine langsame Query 15 Sekunden lang.
Vor dem remove_common war das log deutlich voller!
Danke mal für den Tipp!
Philipp: Mein Schul-Englisch ist einigermaßen ok. Mittlerweile habe ich auch das englische phpbb quergelesen und schon einige Hinweise bekommen. Aber das Problem scheint zum Glück wirklich zu existieren (ich hatte schon befürchtet, meine Seite sei ein Sonderfall

).
Wobei ich deine Hilfe benötige ist die genaue (deutsche) Formulierung für die Anfrage. Eine Anfrage à la "mein Forum ist so langsam" bringt weniger gutes Feedback.
Du hast ja verdammt viel Hintergrundwissen und weißt genauer, wo das Probem eigentlich liegt. Vielleicht kannst du dir auch nochmal das log anschauen?
Herzlichen Dank soweit!
Grüße,
Chrischn
Verfasst: 07.11.2003 17:11
von PhilippK
So, jetzt habe ich auf phpBB.com auch etwas gesucht - und das hier gefunden:
http://www.phpbb.com/phpBB/viewtopic.ph ... 796#672796
Ist zwar ein etwas anderes Problem - könnte aber funktionieren. Könntest du den im Beitrag von Acyd Burn beschriebenen Fix mal ausprobieren?
Gruß, Philipp
Verfasst: 17.11.2003 08:56
von Chrischn25
Hi Philipp!
Vielen Dank für den Link. Leider habe ich aber noch die 2.04er und somit sieht die functions_search ein wenig anders aus. Soweit ich sehen konnte, ist das Entfernen der Wörter mit weniger als <3 bzw. >20 Zeichen drin.
Nach dem Auskommentieren der
remove_common ist das Posten und Editieren schon wesentlich schneller geworden - ich habe aber immer noch eine realtiv große slow-query. Bezieht sich aber hauptsächlich auf Suchabfragen, nicht auf das Editieren von Postings.
Ich werde auch nochmals bei phpbb.com stöbern - vielleicht werde ich ja noch fündig.
Wenn dir noch etwas einfällt -> nur her damit.
Viele Grüße und einen schönen Tag!
Chrischn