Schöner Artikel für Testgetriebene Entwicklung: hier
Schöner Artikel für Testgetriebene Entwicklung: hier
Installation unter ubuntu:
sudo apt-get install php5-dev
sudo apt-get install php5-xdebug
php.ini
zend_extension=/usr/lib/php5/extensions/20060613/xdebug.so
xdebug.profiler_enable="1"
xdebug.profiler_output_dir="/tmp"
xdebug.profiler_output_name="cachegrind.out.%u.%p"
xdebug.profiler_enable_trigger="1"
# xdebug.profiler_output_name
Name der Profiling-Log-Dateien mit folgenden Platzhaltern:
* %p Process-Id
* %r Zufallszahl
* %u Zeitstempel in Microsekunden
* %H Wert von $_SERVER['HTTP_HOST']
* %R Wert von $_SERVER['REQUEST_URI']
* %s Name des Script mit vollem Pfad, Slashes werden in Unterstriche konvertiert
Kcachegrid für die Auswertung der log-Dateien:
sudo apt-get install kcachegrind
Spalten auf der linken Seite:
* Incl
Zeit die von der Funktion inkl. aller enhaltenen Code-Teile und derer Funktionen, die diese Funktion aufrufen benötigt wurde
* Self
jene Zeit, die von der Funktion selbst (nicht darin aufgerufene Funktionen) benötigt wurde
* Called
Anzahl der Funktionsaufrufe
* Location
Ort, an dem die Funktion deklariert wurde (Codedatei, php-interne Funktion)
Weitere Quellen:
PHP Performance Profiling
Benchmarking PHP: eAccelerator und andere OpCode Caches
eAccelerator vs. xcache: Caches für PHP
Zend Framework und PHP: Beschleunigung durch Caching
Aufruf des Programms “ab” mit Parametern misst die durchschnittliche Aufrufgeschwindigkeit von Webseiten.
Aufruf durch:
ab -n1000 -c10 http://192.168.0.99/php/testmysql.php
-n[[Zahl]] Anzahl der Aufrufe
-c[[Zahl]] Anzahl der parallelen Aufrufe
Guter Artikel dazu: hier
Installation des APC bringt bei den meisten Projekten (mit dem Zend Framework auf jeden Fall) um die 50% bei meinen Tests.
Installation:
# Apache
sudo apt-get install apache2
# Apache PHP Modul
sudo apt-get install libapache2-mod-php5
# Pear
sudo apt-get install php-pear
# für Pecl
sudo apt-get install php5-dev
# für Pecl
sudo apt-get install make
# für APXS
sudo apt-get install apache2-prefork-dev
# Pecl für APC
sudo pecl install apc