Monatsarchiv für März 2010

MySQL Dump der Funktionen

Um nur die Funktionen zu dumpen:

mysqldump --routines --no-create-info --no-data --no-create-db --skip-opt [[Datenbank]] > name.sql

Für die Datenbank und Funktonen:

mysqldump [[Optionen]] --routines > name.sql

MySQL Dump direkt Packen

Um ein mysqldump direkt zu packen muss die Ausgabe einfach per Pipe an gzip weitergeleitet werden:

mysqldump [[Optionen]] | gzip -9 > name.sql.gz

Anders herum, um das ganze direkt wieder gepackt einzuspielen:

gunzip < name.sql.gz | mysql [[Optionen]]

Mails in der Warteschlange überprüfen

Um die E-Mails in der Mail-Warteschlage zu überwachen kann man sich wie im folgendem Beispiel alle zwei Tage eine E-Mail mit der Warteschlage zusenden lassen.

Crontab:
0 6 */2 * * mailq -v | mail -s "Mail Warteschlange" mail@adresse

MySQL auf Kommandozeile mit definierten Zugangsdaten

Es muss die Datei .my.cnf in das Home-Verzeichnis des Benutzers angelegt werden mit folgendem Inhalt:
‘MySQL auf Kommandozeile mit definierten Zugangsdaten’ weiterlesen

Datum von Bildern ändern oder korrigieren

Als Tools kommen jhead oder exiftool zum Einsatz. Beide können Datumsangaben korrigieren.
‘Datum von Bildern ändern oder korrigieren’ weiterlesen

TDD mit Zend

Schöner Artikel für Testgetriebene Entwicklung: hier

xdebug unter Ubuntu

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

Webseiten Performance mit Apache Benchmark

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

PHP APC Cache unter Ubuntu

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