Layer 06

Installare APC e Memcached su Ubuntu o Debian

http://php.net/manual/en/book.apc.php Prendiamo una shell di Ubuntu e digitiamo quanto segue:

user@server:/directory/$ sudo apt-get install php-apc
Dopo averlo scaricato il sistema operativo lo installerà, ma per renderlo attivo si deve riavviare il demone di apache, quindi digitiamo sulla shell quanto segue:
user@server:/directory/$ sudo /etc/init.d/apache2 restart
A questo punto APC sarà attivo, per verificare digitiamo in shell il seguente comando:
user@server:/directory/$ php -r ‘phpinfo();’ | grep ‘apc’ apc MMAP File Mask => /tmp/apc.s5jA6w apc.cache_by_default => On => On apc.coredump_unmap => Off => Off apc.enable_cli => On => On apc.enabled => On => On
Ora passiamo al Memcached, parlavo prima di sessioni simultanee, ovviamente ogni sessione si porta dietro una mole di dati che negli anni è venuta a crescere in modo smisurato, analizziamo una sola sessione. una sessione su wordpress con un numero esiguo di plugins installati lancia dalle 20 alle 30 query sul database, queste sessione ed il relativo lock file vengono scritti in nativamente da Apache su disco, se noi spostiamo questi dati in memoria, l’accesso sarà molto più veloce. Memoria batte disco …. questo sempre quando si parla di velocità di accesso ai dati. Ecco quindi che memcached si occupa di salvare queste informazioni in una piccola porzione di ram (di default 64 Mb) e con un array salverà tutte queste sessioni. Passiamo all’installazione su un sistema Ubuntu.
user@server:/directory/$ sudo apt-get install memcached user@server:/directory/$ /etc/init.d/memcached start
ora il programma è attivo. Andiamo a vedere su che porta si è installato:
user@server:/directory/$ netstat -tap | grep memcached tcp 0 0 *:11211 *:* LISTEN 3053/memcached
Installiamo quindi il modulo php di memcached:
user@server:/directory/$ sudo apt-get install php5-memcache
lo troviamo quindi sulla porta tcp 11211 ora basta dire a PHP di gestire le sessioni con un path particolare, andiamo quindi ad editare il file /etc/php5/apache2/php.ini.  Andiamo a sostituire i seguenti comandi:
session.save_handler = files ;session.save_path =
con questi:
session.save_handler = memcache session.save_path = “tcp://localhost:11211?persistent=1&weight=1&timeout=1&retry_interval=15″
Ovviamente ora dobbiamo riavviare il demone di Apache.
user@server:/directory/$ /etc/init.d/apache2 restart
Sicuramente non sarà la soluzione definitiva a tutti i vostri problemi di performance, ma sicuramente aiuta il vostro server a sopportare meglio un numero di sessioni simultanee maggiore. Enjoy it.]]>