Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [PHP] Wie Laufzeitengpässe finden? (https://www.delphipraxis.net/120602-%5Bphp%5D-wie-laufzeitengpaesse-finden.html)

Matze 13. Sep 2008 13:51


[PHP] Wie Laufzeitengpässe finden?
 
Hi zusammen,

gibt es eine Möglichkeit herauszufinden, welche PHP-Funktionen o.ä. am langsamsten sind bzw. welche Schleifen am längsten benötigen?

Ich habe allerdings nicht vor, überall microtime() einzubauen.

Grüße, Matze

mkinzler 13. Sep 2008 13:57

Re: [PHP] Wie Laufzeitengpässe finden?
 
Delphi4PHP besitzt einen Profiler

MSSSSM 13. Sep 2008 14:28

Re: [PHP] Wie Laufzeitengpässe finden?
 
Bei Pear gibt es das Paket Benchmark.
Such mal danach.

Matze 13. Sep 2008 16:21

Re: [PHP] Wie Laufzeitengpässe finden?
 
Hallo

@Markus: ich nutze kein Delphi4PHP
@Marius: Da muss ich jedoch genauso in jeder Funktion und um jede Schleife etwas schreiben und könnte daher gleich selbst was nutzen.

Naja, notfalls mache ich das sogar. Ich hoffe nur, dass die Seite dadurch nicht merklich langsamer wird ... :?

Schöner wäre natürlich was, dass das kann, ohne die ganzen Dateien anpassen zu müssen.

Grüße

mkinzler 13. Sep 2008 16:28

Re: [PHP] Wie Laufzeitengpässe finden?
 
Es gibt eine Trial

Daniel 13. Sep 2008 16:35

Re: [PHP] Wie Laufzeitengpässe finden?
 
Oft sind es ja auch die Datenbank-Abfragen, die hinsichtlich der Performance kritisch sind. Hier könnte man überlegen, eine Zugriffsklasse anzulegen und dann alle SQL-Queries über diese Klasse zu leiten. Danach könnte man sich von dieser Klasse eine Debug-Variante ableiten, die eine Form von Protokollierung durchführt. Damit hätte man weiterhin eine saubere Trennung zwischen der etwas performanteren Produktiv-Klasse und der Debug-Klasse.

Manchmal reicht so eine Form der Protokollierung schon aus, da es oftmals so ist, dass die SQL-Statements kreuz und quer über das Projekt verteilt sind und man dadurch ggf. auch in Erfahrung bringen kann, ob zwischen zwei bestimmten SQL-Statements viel Zeit verloren geht. In vielen Fällen ist die Problemstelle damit hinreichend eng eingekreist.

Matze 13. Sep 2008 16:41

Re: [PHP] Wie Laufzeitengpässe finden?
 
Hi Daniel,

da alle SQL-Abfragen über eine Klasse laufen, werden dort bereits alle Ausführungszeiten ermittelt. Diese liegen jedoch bei maximal 0.001 Sekunden. Diese ist etwas hoch, aber das kann ich nicht weiter optimieren, denke ich. Insgesamt liegt die Seiten-Generierungszeit lokal bei rund 0.4 Sekunden (online weniger). Manchmal weniger, manchmal aber auch deutlich mehr. Und ich würde gerne feststellen, wieso das so ist.

Grüße


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:17 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz