Erozia Erotikforum

HowTo: eAccelerator auf Debian

Februar 29th, 2008

Da ich ein richtiger Nimmersatt bin, möchte ich natürlich auch jetzt wieder mein PHP etwas verbessern.

Zürst hat sich mir allerdings folgende Frage gestellt:

Warum eAccelerator und nicht Zend Optimizer?

Es waren einige Benchmark-Tests, die mich dazu bewogen haben, mich für eAccelerator zu entscheiden:

Beide kamen ungefähr auf die gleichen Ergebnisse:

StandartPHP: Time per reqüst: 9.496 [ms] (mean, across all concurrent reqüsts)

Zend Optimizer: Time per reqüst: 9.134 [ms] (mean, across all concurrent reqüsts)

eAccelerator: Time per reqüst: 5.222 [ms] (mean, across all concurrent reqüsts)

Also ein deutlicher Sieg für eAccelerator.

Installation unter Debian

Als erstes bereiten wir PHP vor (bei mir nur PHP5):

apt-get install build-essential php5-dev

Jetzt machen wir folgendes:

cd /tmp
wget http://bart.eaccelerator.net/source/0.9.5.2/eaccelerator-0.9.5.2.tar.bz2
tar xvfj eaccelerator-0.9.5.2.tar.bz2
cd eaccelerator-0.9.5.2
phpize
./configure
make
make install

In diesem Schritt haben wir jetzt eAccelerator heruntergeladen und entpackt. Als nächstes haben wir PHP und eAccelerator configuriert. Mit den letzten 2 Kommandos wurde die Extension compiliert und installiert.

Da das Programm nun installiert ist, müssen wir PHP nur noch mitteilen, dass wir davon Gebrauch machen wollen. Dazu nutzen wir die conf.d von php, da dann eaccelerator automatisch in allen Konfigurationen integriert ist. Dies braucht man zum Beispiel für eine Confixx Umgebung mit mehreren php.ini's.

Also erstellen wir mal eine Config-Datei :

nano /etc/php5/conf.d/eaccelerator.ini

Wenn dieser Command nicht funktioniert, versucht es einfach mit vi statt nano.

Füllt die Datei mit folgendem Code:

extension="eaccelerator.so"
eaccelerator.shm_size="16"
eaccelerator.cache_dir="/var/cache/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"

Welche Einstellungen ihr genau vornehmen wollt, sucht ihr euch am besten auf der Entwickler-Seite zusammen.

Jetzt müssen wir dem Cache-Dir noch die Nötigen Rechte geben:

mkdir -p /var/cache/eaccelerator
chmod 0777 /var/cache/eaccelerator

Zu guter Letzt nur noch den Apache neustarten:

/etc/init.d/apache2 restart

Um zu testen, ob alles funktioniert hat, müssen wir jetzt nur noch eine phpinfo() aufrufen. Dazu erstellen wir in einem html-dir noch eine Datei namens info.php. Inhalt:

<?php phpinfo(); ?>

Wenn wir die Datei über unsere Seite aufrufen und folges darin steht…

This program makes use of the Zend Scripting Language Engine:
Zend Engine v2.2.0, Copyright (c) 1998-2006 Zend Technologies
with eAccelerator v0.9.5.2, Copyright (c) 2004-2006 eAccelerator, by eAccelerator
with Suhosin v0.9.12, (C) Copyright 2006, by Hardened-PHP Project

…dann wissen wir, dass wir es geschafft haben.

Viel Spaß also mit eurem schnelleren PHP….

6 Kommentare Neuen hinzufügen

  • 1. Robin  |  März 29th, 2008 at 00:21

    Klasse Tipp, komischer Weise funktioniert Deiner auf Anhieb andere Anleitungen haben irgendwie nicht geklappt :-)

  • 2. Sufijen  |  März 30th, 2008 at 10:21

    Das freut mich zu hören. Ging mir übrigens genauso…
    Erst ewig gesucht. Nichts hat geklappt. Dann mit einer Englischen Anleitung ging's perfekt.

  • 3. Dominik  |  April 24th, 2008 at 09:47

    Mit eAccelerator und ZEND Optimizer vergleichst du äpfel mit Birnen. Die beiden Programme erfüllen unterschiedliche Aufgaben: Der eAccelerator "cached", der ZEND Optimizer "optimiert".

    Ich habe auf meinem Blog auch ein paar Benchmarks durchgeführt - und erkläre auch den Unterschied zwischen Optimierer und Cache kurz. Vielleicht ist das auch für dich interessant: "eAccelerator und andere OpCode Caches"

    Was anderes: Du verwendest Suhosin? Läuft das stabil?

  • 4. Sufijen  |  Mai 4th, 2008 at 11:48

    Dein Beitrag ist ziemlich cool! Schöne Übersichten.

    Suhosin ist sehr gut. Alles läuft super. Es ist stabil!

    Wegen den Äpfel und den Birnen: Ich weiß, dass die beiden an sich verschieden sind. Trotzdem sollen sie beide eine Optimierung schaffen, weswegen man sie ja eigentlich einsetzt. Also finde ich kann man sie schon miteinander vergleichen. :)

    Sonst würden sie ja auch nicht so oft miteinander verglichen werden ;)

  • 5. Jockl  |  Juli 26th, 2008 at 15:36

    leider schaffe ich es einfach nicht, dass eAccelerator bei phpinfo() angezeigt wird. ;(

  • 6. Sufijen  |  Juli 26th, 2008 at 15:48

    Jockl was wird dir denn angezeigt? Wenn du willst schickst du mir einfach ne Mail (zu finden bei Kontakt) und zeigst mir deine PHPINFO();
    Ansonsten kann dir wohl so keine weiterhelfen…

Kommentar schreiben

Trackback dieses Beitrags  |  RSS Feed zu den Kommentaren

Pflicht
Pflicht, wird nicht veröffentlicht
*
Klicke auf's Bild für eine Audiowiedergabe.
Klick hier für die Audiodatei.
Erlaubte HTML-Tags:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>