|
ulf-wendel.de   
|
|
 Home < PHP Projekte  < Userland Cache    |       |  
Print Version    
---
|
|
 Home 
 PHP Projekte 
    PHPDoc 
    Forms 
    IT[X] Template 
    Userland Cache 
    Gtext 
    Menu 3 
    Columbo 
 PHP Schulung 
 Technik der Site 
 Büchertipps 
 Fotografie 
 Airbrush 
 Kontakt 
 Stuff 

Userland Cache

PEAR's Userland Cache bietet Ihnen mit wenigen Handgriffen einen kleinen Performance Boost, ohne daß aufwendige oder gar kostspielige Änderungen am PHP Interpreter notwendig werden.

Das PEAR Cache Modul zeichnet sich durch eine besonders hohe Flexibilität aus. Das Design erinnert an die PHPLib Session Abstraktion und erlaubt das Speichern der Cache Daten in Containern beliebigen Typs. Bereits jetzt können Sie zwischen drei Container- Typen wählen.

  • Files
  • PEAR DB Abstraktion
  • PHPLib DB Abstraktion
Eine besonders schnelle Shared Memory Variante wurde bereits von Björn Schotte angekündigt, dessen Messungen zeigen, daß Userland Caches fast die Geschwindigkeit des Zend Cache erreichen können! Eine native MySQL Heap Tables Variante ist ebenfalls in Arbeit.

Ableitungen vom Datencache führen zu Caches für Funktionsaufrufe, Textausgaben und Grafikerzeugung. Der Funktionscache kann, umsichtig eingesetzt, zeitkritische Teile ihrer Applikation erheblich beschleunigen. Mit dem Output Cache lassen sich dank des PHP 4 Features des Output Bufferings spielend ganze Seiten cachen, und der Grafikcache zeigt, wie man den Anfängerfehler <img src="button.php?text=beschriftung"> vermeidet.

Fauler Zauber

Verschiedene Caches für den internen PHP 4 Compiler haben in letzter Zeit für viel Aufsehen gesorgt. Die Produkte von Bware, APC oder Zend beschleunigen den Seitenzugriff, indem sie die Ergebnisse des internen PHP 4 Compilers zwischenspeichern. Mit einem "Userland" Cache, einem in PHP geschriebenem Skript, lassen sich jedoch ähnliche Erfolge erzielen. Wohlbekannt dürfte ein Newsletter Artikel von Björn Schotte sein, der das Verfahren beschreibt. Der eigentlich Trick besteht darin, mittels des PHP 4 Output Buffering die Skriptausgabe zu speichern und in einer Datei abzulegen, bevor die Ergebnisse ausgegeben werden. Bei einer erneuten Seitenanfrage wird der Inhalt der Datei ausgeliefert, sofern diese noch nicht veraltet ist. Das zeitaufwendige Skript wird bei einem Cache Hit vorzeitig beendet. Für eine festgelegte Zeitdauer wird aus der dynamischen Seite eine statische.

Was ist neu?

Obschon verschiedene Case studies und erste Anwendungen die Technik einsetzen, fehlten bislang Bibliothekscodes, die den Einsatz von Cache Technologien vereinfachen. Nach intensiver Diskussion auf der PEAR Mailingliste und im IRC Channel #php.de stand das benötigte Design fest. Gesucht wurde ein Datencache, der beliebige Storage Container (File, DB, SHM) einsetzen kann und bei dem Ableitungen vom Datencache Spezialfunktionalität zum Zwischenspeichern von ganzen Seiten oder Funktionsaufrufen bereitstellen.

Puretec Tuner

Mit dem Output Cache läßt sich leicht ein kleiner "Puretec Tuner" entwerfen, der als case study auf einer der Seiten dieser Homepage eingesetzt wird. http://www.ulf-wendel.de/technik/ zeigt in hellgrau am unteren linken Seitenrand ein paar Profiling Informationen (Werte nach Reload vergleichen). Typische Werte sind:
0.328 s Bearbeitungszeit, 0.011 s IT[X], 0.016 s Menu 3 
Cache hit. Real execution time: 0.0509 s
      
Die erste Zeile zeigt die Zeiten, die ohne Cache zur Erzeugung der Seite notwendig sind. Die zweite Zeile die Zeiten, die sich bei einem Cache Treffer ergeben. Die Anwendung des PEAR Cache Moduls mit File Storage Container ist denkbar einfach, wie ein Blick auf den Source zeigt: http://www.redsys.de/php/show_source.php?file=tech

Der Harken

Natürlich hat die Sache einen Harken. Der gesamte Code ist noch sehr "frisch" und weder intensiv getestet, noch sind bislang Tutorials verfügbar. Derzeit muß man sich mit ein paar Demo Files begnügen:

Dank

Zu danken ist diversen Beitragenden, darunter: Christian Stocker, Vinai Kopp, Sebastian Bergmann, Sterling Hughes, Björn Schotte, den PHPlib Session Gurus und alle die, die vergessen wurden...

<  ^  >

 Neues

 XML/XSLT Menu
 OOH-Form Rewrite

 PEAR Cache:
  SHM Container

 Suchstring Parser
 Buchrezensionen
 PEAR Cache:
  OutputCompression

 PEAR Menu Browser
 PEAR Menu Tutorial 
 PEAR Cache


 Tipp

Download Version:
oben rechts,
Download *.tar.gz
|
| --- |
|
  Top   |   <  ^  >   |   phpOpenTracker Statistik   |   URL: http://www.ulf-wendel.de/projekte/cache/   |   Stand: 12.08.2001   |   © Ulf Wendel   
|
| --- |

0.013 s Bearbeitungszeit, 0.002 s IT[X], 0.001 s Menu 3