c'e' solo un modo di fare le cose: farle bene
eAccelerator è un’estensione gratuita ed open source per PHP che si occupa di effettuare un lavoro di accelerazione, ottimizzazione e di cache sui vostri script scritti per l’appunto in PHP. I benefici di usare eAccelerator sono dimostrati da infiniti benchmark presenti su Internet.
Sul server dove è residente www.bucchianico.net, ospitato da Sofitek e gestito tramite Kubigo, c’è una installazione LAMP e, prima di aggiungere eAccelerator al gia possente sistema, facciamo un test con Apache Benchmark (ab):
ab -n1000 http://www.bucchianico.net/
Dopo un pò avremo i risultati:
Time taken for tests: 670.692849 seconds
Complete requests: 1000
Failed requests: 0
Write errors: 0
Total transferred: 29338000 bytes
HTML transferred: 29006000 bytes
Requests per second: 1.49 [#/sec] (mean)
Time per request: 670.693 [ms] (mean)
Time per request: 670.693 [ms] (mean, across all concurrent requests)
Transfer rate: 42.72 [Kbytes/sec] received
Bene, adesso installiamo eAccelerator e vediamo cosa succede.
Per poter compilare eAccelerator abbiamo bisogno di php5-dev e build-essential, quindi li installiamo:
apt-get install build-essential php5-dev
Scarichiamo i sorgenti di eAccelerator in /usr/local/src/:
wget http://bart.eaccelerator.net/source/0.9.5.3/eaccelerator-0.9.5.3.tar.bz2
Apriamo il pacchetto compresso:
tar xvfj eaccelerator-0.9.5.3.tar.bz2
Una volta entrati nella directory appena creata, compiliamo:
cd eaccelerator-0.9.5.3
phpize
./configure
make
make install
Se tutto è andato a buon fine abbiamo quesi finito. Adesso non resta che creare il file .ini che Apache carica insieme alla configurazione di PHP5.
La directory dove creare il file è /etc/php5/conf.d/, quindi:
vi /etc/php5/conf.d/eaccelerator.ini
Al cui interno scriviamo:
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"
Queste impostazioni sono tratte da http://www.eaccelerator.net/wiki/Settings e consiglio vivamente di visitare tale pagina per meglio configurare eAccelerator in base alle proprie esigenze.
Salvato il file, è necessario creare la directory specificata in eaccelerator.cache_dir e darle i permessi giusti:
mkdir -p /var/cache/eaccelerator
chmod 0777 /var/cache/eaccelerator
Riavviamo Apache:
/etc/init.d/apache2 restart
Adesso se puntiamo il nostro browser sul server con eAccelerator, precisamente ad una pagina PHP che ha questo codice al suo interno:
<?php
phpinfo();
?>
Se, all’interno di tale pagina, cercando “eAccelerator”, è presente la relativa sezione, abbiamo finito!:)
Adesso riproviamo ad eseguire il test:
ab -n1000 http://www.bucchianico.net/
Ecco i miei risultati:
Time taken for tests: 576.975449 seconds
Complete requests: 1000
Failed requests: 0
Write errors: 0
Total transferred: 29338000 bytes
HTML transferred: 29006000 bytes
Requests per second: 1.73 [#/sec] (mean)
Time per request: 576.975 [ms] (mean)
Time per request: 576.975 [ms] (mean, across all concurrent requests)
Transfer rate: 49.66 [Kbytes/sec] received
Il test è stato completato in 576 secondi rispetto ai 670 di prima e le richieste al secondo sono passate da 1.49 a 1,73: niente male, ma i benefici si hanno con un test che simula richieste concorrenti:
ab -n1000 -c100 http://www.bucchianico.net/
Ecco i risultati SENZA eAccelerator attivo:
Concurrency Level: 100
Time taken for tests: 219.25691 seconds
Complete requests: 1000
Failed requests: 7
(Connect: 0, Length: 7, Exceptions: 0)
Write errors: 0
Non-2xx responses: 7
Total transferred: 29137982 bytes
HTML transferred: 28805562 bytes
Requests per second: 4.57 [#/sec] (mean)
Time per request: 21902.570 [ms] (mean)
Time per request: 219.026 [ms] (mean, across all concurrent requests)
Transfer rate: 129.92 [Kbytes/sec] received
Invece con eAccelerator:
Concurrency Level: 100
Time taken for tests: 134.254046 seconds
Complete requests: 1000
Failed requests: 7
(Connect: 0, Length: 7, Exceptions: 0)
Write errors: 0
Non-2xx responses: 7
Total transferred: 29150942 bytes
HTML transferred: 28818190 bytes
Requests per second: 7.45 [#/sec] (mean)
Time per request: 13425.404 [ms] (mean)
Time per request: 134.254 [ms] (mean, across all concurrent requests)
Transfer rate: 212.04 [Kbytes/sec] received
Beh penso che si commentino da soli…
Gianluca dai che domani è sabato!
Gianluca si lo ammetto sono razzista, odio le ex.L'unica razza per cui nemmeno l'Onu muoverebbe un dito in caso di estinzione. Esseri spregevoli e abietti senza eguali.
Gianluca le belle donne sono invisibili,vedi solo la bella facciata,ti blocca la barriera della bellezza. Ammagliati dall'aspetto esteriore non arriviamo mai al mondo interiore e se mai accade uno dei due rimane deluso.
Powered by Lifestream.
| L | M | M | G | V | S | D |
|---|---|---|---|---|---|---|
| « lug | ||||||
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 | |||
One Response for "eAccelerator su Debian Etch"
Sempre puntuale!
Beh a dire la vertà… adesso che stai iniziando a parlare di php, di riflesso quindi anche di Apache, e in qualche post di mysql… a quando per una buona guida “howto” intro a phpmyadmin?
Leave a reply