Wie reduziere ich Queries?

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.
Antworten
LOLRainbow
Mitglied
Beiträge: 242
Registriert: 20.09.2007 12:13
Wohnort: Ebersbach an der Fils
Kontaktdaten:

Wie reduziere ich Queries?

Beitrag von LOLRainbow »

Ich hab zwar ne lange Liste MODs, aber so viele betreffen die Startseite auch nicht. Dennoch werden fast 100 Queries auf dem Index angezeigt, und auch in der Viewforum sind es ca. 70 und in der viewtopic sind es unter 20.

Die Frage ist aber auch, ob das Script richtig funktionier, da es folgendes ausgibt:
Page generation time: 1196720593.8675s (PHP: 100% - SQL: 0%) - SQL queries: 99 - GZIP disabled - Debug on
Wie erfahre ich am besten woher die ganzen Queries kommen? Ich hab Stück für Stück immer wieder ein paar MODs auf dem Index probeweise gelöscht, aber ich konnte es nicht stark minimieren.

Welche Dateien stehen denn im Bezug auf den Index?
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Angesichts der Zeit die angezeigt wird würde ich mich auf diese Ausgaben nicht verlassen, ich glaube nicht dass die Seite 38 Jahre zum Laden braucht :D . Ich würde sagen mehr als 20 Queries sollten es nicht sein, der Index hier braucht beispielsweise 14, 99 wären da schon extremst ineffizient, das sieht nach Queries in einer Schleife aus (da kann das dann schon mal mehr werden). Häufig kann man Queries in einer Schleife durch ein größeres Query vorher abfangen, aber nicht immer. Wenn du was an der Querystruktur änderst musst du zwangsweise auch die Zugriffe ändern. Bei 99 Stück wäre ein möglicher vorhandener Aufbau grob sowas:

Code: Alles auswählen

for(i = xy)
{
...
$sql = 'SELECT * FROM xy WHERE id= i';
$result = $db->sql_query($sql);
...
}
Ob es sich lohnt das dann aufwändig so umzubauen, dass das Query vor der Schleife liegt kann man nicht sagen. Bei manchen Strukturen ist es sogar sinnvoller wenn es innerhalb der Schleife liegt da es evtl. doch nur recht selten mal vorkommt dass es tatsächlich ausgeführt werden muss.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Boecki91
Ehemaliges Teammitglied
Beiträge: 4744
Registriert: 18.06.2006 15:21

Beitrag von Boecki91 »

Zu der Zeit:

1196720593.8675s

Wenn man das zurück rechnet landet man fast beim 1.1.1970 Dem Startzeitpunkt des UNIX-Timestamps.
Man kann es also zurückrechnen und feststellen das du die Fehlermeldung am
3.12.2007 um 23:23:13 aufgerufen hast und hier hier beschreiben hast. aber das nur am Rande...

Tatsache ist das Die Berechnung der Laufzeit irgendwie in die Hose gegangen ist, liegt eventuell am verwendeten Mod oder eben an einem Einbaufehler.

Normalerweise muss das so aussehen:

Code: Alles auswählen

//Irgendwo im page_header:

$start = microtime();

//Irgendwo im page_footer:
$end = microtime();
$laufzeit= $end - $start;
Bei dir wird irgendetwas falsch berechnet.
Standart: Am besten mit beiden Beinen auf dem Boden
Standardmäßig antworte ich nicht auf PMs
LOLRainbow
Mitglied
Beiträge: 242
Registriert: 20.09.2007 12:13
Wohnort: Ebersbach an der Fils
Kontaktdaten:

Beitrag von LOLRainbow »

Ich hab grad keinen FTP-Zugriff, aber ich werd das überprüfen.

ich würde mich über ein paar Vergleichswerte von euch freuen. Wieviel Queries weist denn euer Foren-Index auf, und mit welchen MODs?

Timo
Antworten

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