phpBB langsam? oder Wie Mysql Slow Queries auslesen?

Probleme bei der regulären Arbeiten mit phpBB, Fragen zu Vorgehensweisen oder Funktionsweise sowie sonstige Fragen zu phpBB im Allgemeinen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Benutzeravatar
mgutt
Mitglied
Beiträge: 2999
Registriert: 31.08.2004 16:44
Wohnort: Hennef
Kontaktdaten:

Beitrag von mgutt »

heißen deine tabelle "phpbb_" usw.? Sonst musst Du natürlich den Tabellennamen anpassen in der Abfrage.
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Garfield312
Mitglied
Beiträge: 528
Registriert: 03.09.2004 15:54

Beitrag von Garfield312 »

Jo, die heißen so. Das wäre aber sogar mir aufgefallen, wenn das geändert hätte werden müssen :lol:

Ich versuch das gleich mal nochmal, vielleicht hatte der Server grad ne schlechte Minute :lol:

EDIT:

Jetzt geht's. Ergebnis :


[ externes Bild ]
Viele Grüße, Garfield.
Benutzeravatar
Olli Oberhausen
Mitglied
Beiträge: 561
Registriert: 22.10.2004 01:03
Wohnort: Oberhausen NRW
Kontaktdaten:

Beitrag von Olli Oberhausen »

@mgutt...

Was bei dir performancemäßig helfen würde :D

Code: Alles auswählen

	if($topic_id != 1166) add_search_words('single', $post_id, stripslashes($post_message), stripslashes($post_subject));
Danke für die gute unterhaltung - hab immer noch ein grinsen im gesicht :grin:


Sorry for beeing offtopic, Olli
Benutzeravatar
mgutt
Mitglied
Beiträge: 2999
Registriert: 31.08.2004 16:44
Wohnort: Hennef
Kontaktdaten:

Beitrag von mgutt »

@ olli

wie kommst du darauf :lol:

meine zeile lautet nämlich: (kein Scherz)

Code: Alles auswählen

	if ( $topic_id != '6311' )
	{
		add_search_words('single', $post_id, stripslashes($post_message), stripslashes($post_subject));
	}
@ garfield312
Die Wörter dürften ALLE nicht dort auftauchen. Eigentlich ein eindeutiges Indiz dafür, dass auch bei Dir die Liste nicht greift.

Du solltest also mal von Deinem Provider prüfen lassen, ob die Datei search_stopwords.txt auch bei Dir kein Plaintext-Format aufweist.

Bringe das auf jeden Fall mal in Erfahrung.

Übergangsweise benenne die jetzige Datei um und lade Dir mal die search_stopwords von mir oder aus dem phpBB-Paket und lade sie neu hoch.

Gruß

EDIT: Übrigens. Wenn die Datei in Ordnung ist, dann brauchst Du nur das Script aus dem folgenden Link unter "Löschen von search_stopwords.txt Wörtern aus den search Tabellen" abarbeiten lassen:
http://www.phpbb.de/doku/kb/artikel.php ... erkleinern

Der Neuaufbau des Suchindexes ist überhaupt nicht notwendig, wie ich eben festgestellt habe. Das ist totaler Unsinn.
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Benutzeravatar
Gumfuzi
Ehemaliges Teammitglied
Beiträge: 2454
Registriert: 26.03.2004 22:25
Wohnort: Linz, AT
Kontaktdaten:

Beitrag von Gumfuzi »

Wo auch noch viele Daten abgefragt werdem, sind zB. Suchabfragen von eigenen Postings (egosearch), da werden zuerst alle Posts des Users gesucht:

Code: Alles auswählen

				$sql = "SELECT post_id 
					FROM " . POSTS_TABLE . " 
					WHERE poster_id IN ($matching_userids)";
Dann werden zu allen post_id's die Threads gesucht:

Code: Alles auswählen

						$sql = "SELECT p.topic_id 
							FROM $from_sql 
							WHERE p.post_id IN (" . implode(", ", $search_id_chunks[$i]) . ") 
								$where_sql 
							GROUP BY p.topic_id";
Vor allem bei Usern mit vielen Postings werden da die Abfragen mehrere Seiten lang.

Sinnvoll wäre hier ev. in der ersten Abfrage eine Limitierung von zB. 100 Beiträgen (und nach Datum sortiert; neueste zuerst)

Das gleiche bei der "normalen" Suche nach Wörtern (Limitierung; nach Datum) - wer sieht sich schon zB. alle 5789 Suchergebnisse an...

P.S.: die stopword greifen bei mir zum Glück bereits ohne Dein Snippet - interessant wäre ein Snippet, wo man ein Wort vorgibt, welches dann in den beiden Suchtabellen rausgelöscht wird, denn ich vermute, daß wenn man ein Wort in die stopwords hinzufügt, die alten Einträge in den Suchtabellen drin bleiben und unnötigen Platz verbrauchen.
Benutzeravatar
mgutt
Mitglied
Beiträge: 2999
Registriert: 31.08.2004 16:44
Wohnort: Hennef
Kontaktdaten:

Beitrag von mgutt »

Gumfuzi hat geschrieben:interessant wäre ein Snippet, wo man ein Wort vorgibt, welches dann in den beiden Suchtabellen rausgelöscht wird, denn ich vermute, daß wenn man ein Wort in die stopwords hinzufügt, die alten Einträge in den Suchtabellen drin bleiben und unnötigen Platz verbrauchen.
siehe den part in meinem post, den ich editiert habe. das snippet aus der doku macht genau das ;)
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Benutzeravatar
Olli Oberhausen
Mitglied
Beiträge: 561
Registriert: 22.10.2004 01:03
Wohnort: Oberhausen NRW
Kontaktdaten:

Beitrag von Olli Oberhausen »

mgutt hat geschrieben:@ olli

wie kommst du darauf :lol:
Hehe, hab nur mal so ein bischen rumgeblättert, und es gibt auf jedem Forum mindestens einen bereich (der meistens der größte ist) wo nur $%%§$% drinsteht.

T6311 hatte ich noch gar nicht gesehen :oops: :o . Vielleicht solltest du auf $forum_id != 10 prüfen....

Aber wie gesagt - eure witze sind super...

Gruß, Olli
Benutzeravatar
Gumfuzi
Ehemaliges Teammitglied
Beiträge: 2454
Registriert: 26.03.2004 22:25
Wohnort: Linz, AT
Kontaktdaten:

Beitrag von Gumfuzi »

danke mgutt!

*edit*
der "deutsche" Link funzt nicht mehr, ist das das gleiche Skript nur in deutsch?

Da der DM-Maintenance Mod bei mir nicht lauffähig ist (alter CH Mod), kann ich diese Tabellen auch in phpmyadmin reparieren lassen bzw. optimieren oder muss wirklich der Suchindex neu indiziert werden?
Benutzeravatar
mgutt
Mitglied
Beiträge: 2999
Registriert: 31.08.2004 16:44
Wohnort: Hennef
Kontaktdaten:

Beitrag von mgutt »

Olli_Moers hat geschrieben:
mgutt hat geschrieben:@ olli

wie kommst du darauf :lol:
Hehe, hab nur mal so ein bischen rumgeblättert, und es gibt auf jedem Forum mindestens einen bereich (der meistens der größte ist) wo nur $%%§$% drinsteht.

T6311 hatte ich noch gar nicht gesehen :oops: :o . Vielleicht solltest du auf $forum_id != 10 prüfen....

Aber wie gesagt - eure witze sind super...

Gruß, Olli
Danke :lol:

Aber das Café wollte ich nicht komplett ausschließen. Das halte ich für den falschen Weg. Ich habe gehört, dass die Umstellung auf Fulltextsuche helfen kann. Das werde ich mir in jedem Fall nochmal genauer anschauen. Im Moment überlege ich schlicht und einfach die common-Funktion rauszulassen. Ich mein, die bringt eh nichts.
Gumfuzi hat geschrieben:danke mgutt!

*edit*
der "deutsche" Link funzt nicht mehr, ist das das gleiche Skript nur in deutsch?
Der Link ging noch nie.. jedenfalls solange ich die Seite kenne. Nimm das dort veröffentlichte Script. Du siehst im Code, dass die Tabellen danach eh optimiert werden. Ein Neuaufbau des Suchindexes ist wie gesagt Unsinn. Ich weiß nicht warum dieser Hinweis im Text verzeichnet ist. Man sollte dahingehend mal die Doku ändern.

Gruß
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Benutzeravatar
Gumfuzi
Ehemaliges Teammitglied
Beiträge: 2454
Registriert: 26.03.2004 22:25
Wohnort: Linz, AT
Kontaktdaten:

Beitrag von Gumfuzi »

ok, danke!

habe eben die search.php modifiziert und ein Limit auf max. 500 gesetzt. Dabei habe ich bemerkt, daß dieser Limiter in der ganzen search.php nicht vorkommt:

Code: Alles auswählen

	//
	// Search ID Limiter, decrease this value if you experience further timeout problems with searching forums
	$limiter = 5000;
genaue Anleitung kann ich leider nicht posten, da die search.php bei mir schon stark gemoddet ist...

Habe nun an 4 Stellen der Datei manuell den Limiter eingefügt und noch eine Sortierung nach post_time bzw. post_id, damit auch die neuesten 500 Ergebnisse übrig bleiben.

einzig der alte CH-Mod (2.0.5) erzeugt nochAbfragen mit mehr als 1000 Datenfeldern, aber da es von der Version kein Update gibt, muss ich auf's phpBB3 warten...
Antworten

Zurück zu „phpBB 2.0: Administration, Benutzung und Betrieb“