Performance-Statistik

rellek
Titel: Performance-Statistik
Version: 1.0
Beschreibung: Zeigt im Footer an, wie lange die Seite gebrachut hat, um generiert zu werden.

Dies sieht in etwa so aus:
DB: 0.041s | DB-Abfragen: 14 | Gesamt: 0.662s | PHP: 93.81% | SQL: 6.19%

Getestet mit wBB 2.2 b1
----


weiter zum Download
#goddi
danke für den Hack, funktioniert bei mir super!!

Allerdings würde ich die Anleitung an folgender Stelle ein bisschen umschreiben, kann leicht zu Missverständnisen führen, wenn man kein PHP kann:

Zitat:
- Suche:
function unbuffered_query($query_string, $LOW_PRIORITY = 0, $limit = 0, $offset = 0, $showerror = 1) {


- danach einfügen:
global $sqltime,$sql;


- Suche:
if ($limit != 0) $query_string .= " LIMIT $offset, $limit";


- danach einfügen:
$sqlstart=microtime();


- nach der nächsten Zeile ($this->query_id......) einfügen:
$sqltime+=getgentime($sqlstart,microtime());
$sql++;


wenn man das mit SUCHEN macht, landet man normalerweise wieder beim normalen Query, und nicht beim unbuffered ... Augenzwinkern


Gruß Goddi
rellek
Naja - eigentlich hab ich das für unnötig gefunden, weil
-> function query(...) wurde ja schon geändert
-> normalerweise wird ja von oben nach unten ab cursorposition gesucht Augenzwinkern

Aber wenn mal etwas anderes anfällt, kann man es änderrn Augenzwinkern

mfg + schöne ostern smile
Kiama
du Könntest für admins oder je nach gruppe bestimmbar noch die sql queries ausgeben ... beispiel? hier : http://www.derien.de
rellek
@ Kiama
Klingt gut :-)
*auf todo-liste schreib*
visionZ
Bei mir wird im Footer nichts angezeigt.
rellek
@ visions
hast du die sprachvariable eingefügt?
visionZ
Jetzt gehts, aber ich hätte schwören können, dass ich die Variable eingefügt habe.
chpfeiffer
db-abfragen = querry ???

sind das nicht zu wenige?

klick mich
rellek
DB-Abfragen = Query

Aber was willstn du jetzt von mir?

aktuell auf der Startseite steht bei mir:
DB: 0.01s | DB-Abfragen: 14 | Gesamt: 0.119s | PHP: 91.6% | SQL: 8.4%

Was soll daran nihct stimmen?
chpfeiffer
die 14 kommen mir etwas wenig vor, schau z.b. hier im forum www.numerale.de sind ungefähr doppelt so viele, ob die alle von hacks kommen?
rellek
Ne, 14 is son normaler wert für ein Board ohne Hacks...

Ich denke schon dass das von den Hakcs kommt, weil z.B. der Top5-Hack 4 Queries hat.
Force
Habe glaube ich ne Fehler bei mir im Board, könnte mir einer sagen was ich flasch gemacht habe?!

DB: 0.011s | DB-Abfragen: 13 | Gesamt: 10920s | PHP: 100% | SQL: 0%
pattex
@Force den Fehler hatte ich auch mal. Da habe ich aber vergessen eine Datei zu ändern. (war glaube die global.php)
Force
Habe aber alle 4 Daten geändert aber werde noch mal schauen!

Fehler gefunden ich hatte danach den Guthabenhack installiert und da ne alte global.php benutzt!
Tami
Danke für den Hack funtz gut, aber habe ein kleines Problem.

im Forum zeigt er jetzt unter im Kasten an:
code:
1:
DB: 0.129s | DB-Abfragen: 15 | Gesamt: 0.361s | PHP: 100% | SQL: %


aber wenn ich in das HM-Portal gehe kommt im Kasten das:
code:
1:
DB: { sqltime }s | DB-Abfragen: { sql } | Gesamt: { gentime }s | PHP: { phppercent }% | SQL: { sqlpercent }%


Weiß jemand Rat?
rellek
Zitat:
Original von Old_Surehand
In die hmportal.php vor dem letzten

eval($outstr);

kannst du folgendes einfügen:

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
// make rellek's performance statistics work
if($genstart) {
  $gentime=getgentime($genstart,microtime());
  $sqlpercent=round(($sqltime/$gentime)*1002);
  $phppercent=100-$sqlpercent;
  $footer=str_replace("{sqlpercent}",$sqlpercent,$footer);
  $footer=str_replace("{phppercent}",$phppercent,$footer);
  $footer=str_replace("{gentime}",$gentime,$footer);
  $footer=str_replace("{sqltime}",$sqltime,$footer);
  $footer=str_replace("{sql}",$sql,$footer);
}


Ungetestet, ich hoffe, ich habe nichts übersehen.

Den teil für den anderen Performancehack (und den hmportal-Profiler) kannst du drin lassen oder rausnehmen, nach Belieben. Von der Ausführungszeit dürfte es keinen Unterschied machen.

Gruß,
O_S
Tami
Dankeschön, für die Info, es funtz super :lol
JaY^JaY
sagma irgendwie check ich die beschreibung bei folgendem teil nicht:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
Datei: ./acp/lib/CLASS_DB_MYSQL.PHP
===================================
- Suche:
function query($query_string, $limit = 0, $offset = 0, $showerror = 1) {


- danach einfügen:
global $sqltime,$sql;


- nach der nächsten Zeile (if ($limit != 0).....) einfügen:
$sqlstart=microtime();


- nach der nächsten Zeile ($this->query_id.......) einfügen:
$sqltime+=getgentime($sqlstart,microtime());
$sql++;


- Suche:
function unbuffered_query($query_string, $LOW_PRIORITY = 0, $limit = 0, $offset = 0, $showerror = 1) {


- danach einfügen:
global $sqltime,$sql;


- Suche:
if ($limit != 0) $query_string .= " LIMIT $offset, $limit";


- danach einfügen:
$sqlstart=microtime();


- nach der nächsten Zeile ($this->query_id......) einfügen:
$sqltime+=getgentime($sqlstart,microtime());
$sql++;


kann mir jemand vielleicht die fertige class_db_mysql.php schicken?
auron16
Hallo

probiere es mal hiermit, dann dürfte das klappen!

Gruß auron16