phpBB langsam? oder Wie Mysql Slow Queries auslesen?
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.
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.
wie ermittelst du die mysql-abfragen mit den größen?
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
- Gumfuzi
- Ehemaliges Teammitglied
- Beiträge: 2454
- Registriert: 26.03.2004 22:25
- Wohnort: Linz, AT
- Kontaktdaten:
mit dem Snippet von mir:
http://www.phpbb.de/viewtopic.php?p=692686#692686
und dann noch derveränderten mysql.php: also die mysql_num_rows und mysql_num_fields bzw. das Produkt der zwei.
Und dann noch die Daten in der page_tail.php dahingehend geändert, dass das auch noch mitgeloggt wird.
Somit sehe ich zum o.a. Snippet noch die Reihen, Spalten und Felder gesamt (Reihen * Spalten) pro SQL-Abfrage.
Damit das nicht zusehr ausartet mit dem loggen, habe ich Mindestwerde vorgegeben, ab welchen erst geloggt werden darf.
http://www.phpbb.de/viewtopic.php?p=692686#692686
und dann noch derveränderten mysql.php:
Code: Alles auswählen
//
// Base query method
//
function sql_query($query = "", $transaction = FALSE)
{
$mtime = microtime();
$mtime = explode(" ",$mtime);
$mtime = $mtime[1] + $mtime[0];
$starttime = $mtime;
// SQL-Zeitmessung Anfang
$zmtime = microtime();
$zmtime = explode(" ",$zmtime);
$zmstart = $zmtime[1] + $zmtime[0];
$abfrage = $query;
$test = debug_backtrace();
$this->zmfile .= "xYz" . $test[0]['file'];
$this->zmline .= "xYz" . $test[0]['line'];
// SQL-Zeitmessung Ende
// Remove any pre-existing queries
unset($this->query_result);
if($query != "")
{
$this->num_queries++;
$this->query_result = @mysql_query($query, $this->db_connect_id);
}
if($this->query_result)
{
$this->nr .= "xYz" . @mysql_num_rows($this->query_result);
$this->nf .= "xYz" . @mysql_num_fields($this->query_result);
unset($this->row[$this->query_result]);
unset($this->rowset[$this->query_result]);
// SQL-Zeitmessung Anfang
$zmtime = microtime();
$zmtime = explode(" ",$zmtime);
$zmende = $zmtime[1] + $zmtime[0];
$zmtotal = round(($zmende - $zmstart), 5);
$this->zmtotal += $zmtotal;
$this->zmteil .= "xYz" . $zmtotal;
$this->abfrage .= "xYz" . $abfrage;
// SQL-Zeitmessung Ende
$mtime = microtime();
$mtime = explode(" ",$mtime);
$mtime = $mtime[1] + $mtime[0];
$endtime = $mtime;
$this->sql_time += $endtime - $starttime;
return $this->query_result;
}
else
{
$this->nr .= "xYz" . @mysql_num_rows($this->query_result);
$this->nf .= "xYz" . @mysql_num_fields($this->query_result);
// SQL-Zeitmessung Anfang
$zmtime = microtime();
$zmtime = explode(" ",$zmtime);
$zmende = $zmtime[1] + $zmtime[0];
$zmtotal = round(($zmende - $zmstart), 5);
$this->zmtotal += $zmtotal;
$this->zmteil .= "xYz" . $zmtotal;
$this->abfrage .= "xYz" . $abfrage;
// SQL-Zeitmessung Ende
$mtime = microtime();
$mtime = explode(" ",$mtime);
$mtime = $mtime[1] + $mtime[0];
$endtime = $mtime;
$this->sql_time += $endtime - $starttime;
return ( $transaction == END_TRANSACTION ) ? true : false;
}
}
Und dann noch die Daten in der page_tail.php dahingehend geändert, dass das auch noch mitgeloggt wird.
Somit sehe ich zum o.a. Snippet noch die Reihen, Spalten und Felder gesamt (Reihen * Spalten) pro SQL-Abfrage.
Damit das nicht zusehr ausartet mit dem loggen, habe ich Mindestwerde vorgegeben, ab welchen erst geloggt werden darf.
ah ok. Weil mir hat mir dann der Techniker die Daten zugesendet. Dann könnte ich auch mal nach "großen" Abfragen fragen.
Sind denn große Abfragen generell "schlecht"?
Sind denn große Abfragen generell "schlecht"?
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
- Gumfuzi
- Ehemaliges Teammitglied
- Beiträge: 2454
- Registriert: 26.03.2004 22:25
- Wohnort: Linz, AT
- Kontaktdaten:
http://www.phpbb.de/viewtopic.php?p=771804#771804
Aber zB. wenn Abfragen 5000 Zeilen lesen, wovon dann nur 50 benötigt werden, ist das Verschwendung.
Auch ist nicht jedes Feld gleich groß (post_text vs. user_id)
Kann Dir aber, wenn Du möchtest, meine page_tail.php und die mysql-php per PN schicken.
Aber zB. wenn Abfragen 5000 Zeilen lesen, wovon dann nur 50 benötigt werden, ist das Verschwendung.
Auch ist nicht jedes Feld gleich groß (post_text vs. user_id)
Kann Dir aber, wenn Du möchtest, meine page_tail.php und die mysql-php per PN schicken.
danke.
ich habe jetzt die funktion remove_common() komplett auskommentiert. Ich sehe da irgendwie keinen Sinn drin. Diese Funktion ist nur lahm und greifen tut sie eh nicht, wenn die stopwordsliste gut ist.
ich update meine jetzt übrigens noch die nächsten tage ein paar mal, falls es jemanden interessiert. die ist mittlerweile recht umfangreich und man merkt beim absenden von postings schon einen unterschied in der geschwindigkeit. besonders wenn last auf dem server herrscht.
gruß
ich habe jetzt die funktion remove_common() komplett auskommentiert. Ich sehe da irgendwie keinen Sinn drin. Diese Funktion ist nur lahm und greifen tut sie eh nicht, wenn die stopwordsliste gut ist.
ich update meine jetzt übrigens noch die nächsten tage ein paar mal, falls es jemanden interessiert. die ist mittlerweile recht umfangreich und man merkt beim absenden von postings schon einen unterschied in der geschwindigkeit. besonders wenn last auf dem server herrscht.
gruß
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Die analysiert die Datenbank nach gewöhnlichen Wörtern. Dann löscht Sie das gewöhnliche Wort aus einer Tabelle raus und in einer anderen zeichnet er sie als "common", also gewöhnlich aus.
Aber da das nun nach 2 Jahren Forenbetrieb nicht einmal passiert ist und jetzt nachdem ich meine optimierte stopwordsliste nutze auch nicht mehr erwarte, das das nochmal passiert, kann ich auch gut darauf verzichten.
Such einfach mal bei Dir in der Datenbank, ob Du auch nur ein Wort hast, wo in der common-Spalte was anderes als Null steht. Ich bezweifel das und die optimierte stopwords greift viel besser.
Aber da das nun nach 2 Jahren Forenbetrieb nicht einmal passiert ist und jetzt nachdem ich meine optimierte stopwordsliste nutze auch nicht mehr erwarte, das das nochmal passiert, kann ich auch gut darauf verzichten.
Such einfach mal bei Dir in der Datenbank, ob Du auch nur ein Wort hast, wo in der common-Spalte was anderes als Null steht. Ich bezweifel das und die optimierte stopwords greift viel besser.
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
- warefare.net
- Mitglied
- Beiträge: 74
- Registriert: 13.07.2006 17:22
- Wohnort: Buchholz
- Kontaktdaten:
hallo zusammen,
also mit meiner suchfunktion habe ich keine probleme (noch nicht)
meine ersten einträge:
one 426
quot 403
i 369
pvp 348
think 340
make 303
skill 299
img 287
skills 250
interlude 239
first 222
also nix besorgnis erregendes.
Allerdings habe ich probleme mit der sessions.php :<
In 13 txt dateien ist mehr als die hälfe mit dieser log gefüllt.
Geht bis auf 16 sekunden manchmal.
Dieser Eintrag hat mich auch verwundert:
177 Sekunden O.o
der ist zwei oder drei mal drinne.
Weiß einer vllt rat was man hier optimieren könnte ?
also mit meiner suchfunktion habe ich keine probleme (noch nicht)
meine ersten einträge:
one 426
quot 403
i 369
pvp 348
think 340
make 303
skill 299
img 287
skills 250
interlude 239
first 222
also nix besorgnis erregendes.
Allerdings habe ich probleme mit der sessions.php :<
Die zahlen da drin hab ich entfernt also nicht wundern.################## Zeitpunkt: 14.05.2007-19:05
### Datei: includes/sessions.phpxYz
### Zeile: 158
### Zeit: 12.98636
### Abfrage: SELECT ban_ip, ban_userid, ban_email
FROM phpbb_banlist
WHERE ban_ip IN ('', ', ', ')
OR ban_userid = -1
################## Ende Zeitpunkt ###
In 13 txt dateien ist mehr als die hälfe mit dieser log gefüllt.
Geht bis auf 16 sekunden manchmal.
Dieser Eintrag hat mich auch verwundert:
################## Zeitpunkt: 14.05.2007-19:05
### Datei: common.phpxYz
### Zeile: 217
### Zeit: 177.7089
### Abfrage: SELECT *
FROM phpbb_config
################## Ende Zeitpunkt ###
177 Sekunden O.o
der ist zwei oder drei mal drinne.
Am meisten probleme scheint aber die sessions.php zu machen. Ich habe übgrigens den SEO URL mod drin, kann das damit zusammenhängen ?################## Zeitpunkt: 14.05.2007-19:05
### Datei: includes/functions.phpxYz
### Zeile: 163
### Zeit: 9.79366
### Abfrage: UPDATE phpbb_config SET
config_value = 'blahblah'
WHERE config_name = 'rand_seed'
################## Ende Zeitpunkt ###
################## Zeitpunkt: 14.05.2007-19:05
### Datei: includes/sessions.phpxYz
### Zeile: 178
### Zeit: 15.9998
### Abfrage: UPDATE phpbb_sessions
SET session_user_id = -1, session_start = blahblah, session_time = blahblah, session_page = -14, session_logged_in = 0, session_admin = 0, SearchBot = Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.0.11) Gecko/20070312 Firefox/1.5.0.11
WHERE session_id = ''
AND session_ip = 'blahblah'
################## Ende Zeitpunkt ###
Weiß einer vllt rat was man hier optimieren könnte ?
| http://l2warfare.com - phpbb forums | Lineage 2 MMORPG | Site Admin |
|Monetize Your Site|
|Web 2.0 - Participate - Wordpress Blog|
|Monetize Your Site|
|Web 2.0 - Participate - Wordpress Blog|
Da brauchst Du Dir keine Gedanken mehr drum machen. Ich denke phpBB3 wird auf Volltextsuche setzen, dann ist dieser Wordtable-Quatsch weg.
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
- warefare.net
- Mitglied
- Beiträge: 74
- Registriert: 13.07.2006 17:22
- Wohnort: Buchholz
- Kontaktdaten:
naja wie gesagt die suche macht mir eigentlich noch keine probleme abermgutt hat geschrieben:Da brauchst Du Dir keine Gedanken mehr drum machen. Ich denke phpBB3 wird auf Volltextsuche setzen, dann ist dieser Wordtable-Quatsch weg.
die sessions.php anscheinend
übrigens habe ich nicht vor auf phpbb3 umzusteigen
| http://l2warfare.com - phpbb forums | Lineage 2 MMORPG | Site Admin |
|Monetize Your Site|
|Web 2.0 - Participate - Wordpress Blog|
|Monetize Your Site|
|Web 2.0 - Participate - Wordpress Blog|