[2.3] Performance-Statistik

dachkraxler

New Member
Jetzt geht es, frag nicht warum, dann erschlägst Du mich für den ganzen Aufwand den ich hier verbrockt habe...........:nut:

Ich hatte die geänderten php-Dateien die ganze Zeit in den Falschen wbb2 Ordner geladeno|o|

Einen Vorteil hatt es, das andere Board hat nun auch die Statistik:yo
 

rellek

relativ sensationell
Teammitglied

dachkraxler

New Member
Ja, bloß auf den Falschen Server:nut:

Boahhhhhhh, da darf Man(n) garnicht drüber nachdenken:pff

aber Ende gut, alles gut :)

Danke für den schnellen Support hier:yo
 

rellek

relativ sensationell
Teammitglied
Wie viel Prozent von der Gesamtdauer die Datenbankabfragen und der PHP-Code einnehmen.
 

rellek

relativ sensationell
Teammitglied
Nope.

Hängt von zu vielen Umständen ab.

Bis gesamt 0,3s ist es erträglich, aber bei einem Board mit 2 Mio Beiträgen wäre auch 1s ok - was bei 20k Beiträgen untragbar wäre, beispielsweise.
 

dachkraxler

New Member
Das kommt, wenn deine SQL-Abfragen zu schnell ausgeführt worden.

fix (danke an S. A. M.):
./global.php
suche:
Code:
$genstart=microtime();
ersetze durch:
Code:
$genstart=(float) array_sum(explode(' ', microtime()));
./acp/lib/class_mysql.php, suche (2x):
Code:
$sqlstart=microtime();
ersetze durch:
Code:
$sqlstart=(float) array_sum(explode(' ', microtime()));
suche (2x):
Code:
$sqltime+=getgentime($sqlstart,microtime());
$sql++;
ersetze durch:
Code:
$sqltime+=getgentime($sqlstart,(float) array_sum(explode(' ', microtime())));
$sql++;
./acp/lib/class_tpl_file.php
suche:
Code:
$gentime = getgentime($genstart,microtime());
ersetze durch:
Code:
$gentime = getgentime($genstart,(float) array_sum(explode(' ', microtime())));
suche:
Code:
$gentime = getgentime($genstart,(float) array_sum(explode(' ', microtime())));
danach einfügen:
Code:
if ($sqltime > $gentime || !$sqltime) $sqltime = "0.001";


Bei mir ist das aber nicht ./acp/lib/class_mysql.php sondern die class_db_mysql.php

Funktioniert aber :yo
 
Zuletzt bearbeitet von einem Moderator:

rellek

relativ sensationell
Teammitglied
Ähm, der letzte Teil hätte schon in der class_tpl_file.php sein müssen.....
 

rellek

relativ sensationell
Teammitglied
Achso, den Typo meintest du. Ja, da hast du natürlich recht.

Habs gleich mal editiert, danke :)
 

AXEL

Neuer Benutzer
na ich finde...um verwechselungen dieser art zu vermeiden , wäre es doch besser , in den anleitungen genauer zu schreiben...dahinter, darunter

ich hab auch immer überlegt..ob nun drunter oder hinter!

is bissl verwirrend...zumal viele andere es eben genauso beschreiben...find ich eindeutig genug!!!!

wäre ne überlegung wert...oder???????
 

faruk

Neuer Benutzer
Hallo rellek,

ich habe seit langem diesen hack bei mir drinn -allerdings harmoniert es nicht mit dem securitysystem 3.0 Premium von http://www.wbb-security.de/

ich bekam wenn ich liveupdate von dem system machen wollte folgende fehlermeldung

Notice: Undefined offset: 1 in /www/htdocs/xxxx/acp/lib/functions.php on line 3072

Notice: Undefined offset: 1 in /www/htdocs/xxxx/acp/lib/functions.php on line 3072

Warning: Cannot modify header information - headers already sent by (output started at /www/htdocs/xxxx/acp/lib/functions.php:3072) in /www/htdocs/xxxxx/acp/security.php on line 867
da dies eine meldung ist das ein array kein index hätte habe ich mal geschaut und kam zu folgendem ergebnis

die funktion:
/* ############# Perfomance Statistic ################## */

function getgentime($start,$end) {
$start=explode(" ",$start);
$end=explode(" ",$end);
$result=$end[0]-$start[0]+$end[1]-$start[1];
return substr($result,0,5);
}
umgeändert wie folgt funktionieren noch beide hacks...
/* ############# Perfomance Statistic ################## */

function getgentime($start,$end) {
$start=explode(" ",$start);
$end=explode(" ",$end);
$result=$end[0]-$start[0];
return substr($result,0,5);
}
welche auswirkungen hat es auf die statistik ohne das ich irgendwo eine fehlermeldung bekomme?

kann ich das so lassen?

lg
faruk
 
Zuletzt bearbeitet von einem Moderator:

rellek

relativ sensationell
Teammitglied
Wenn alles noch so funktioniert, wie es sollte, kannst du es so lassen, klar.

Kannst du mir noch kurz sagen, welche PHP-Version bei dir im Einsatz ist? Ich habe dunkel in erinnerung, dass die Herrschaften in der PHP-Entwicklung eh was an der verwendeten Funktion microtime() ändern wollten, vielleicht liegts ja daran... (dann wäre das eine Verlinkung im ersten Beitrag, was du eben geschrieben hast :D)
 

faruk

Neuer Benutzer
mein php info spukt mir das raus:
MySQL-Version: 4.0.23-Max-log
PHP-Version: 4.4.8

scheint wirklich alles zu laufen...
 

rellek

relativ sensationell
Teammitglied
Na gut, am PHP scheints nicht zu liegen. Mal sehen ob noch mehr Fehler dieser Art auftreten *g*


Wenn trotzdem noch alles geht, ist doch alles bestens :)
 
Oben