< Back

Hoe een VPS optimaliseren voor Drupal?

October 8, 2014 - 1:40 pm

Drupal websites kunnen zeer uitgebreid worden en omdat Drupal zelf ook relatief zwaar is komt het nog al eens voor dat de website respons tijd te wensen over laat.
De standaard VPS installaties van InterHost Solutions omvatten de basis voor een webserver, maar er zijn een aantal extra zaken die een grote performance boost geven.

Op domein.be/?q=admin/reports/status kan je zien dat APC en PECL uploadprogress niet standaard geïnstalleerd staan. Ook memcached is belangrijk om PHP code te cachen zodat ze niet elke keer gecompileerd moet worden.

APC installeren

APC is een gratis tool die reeds bezochte pagina’s cached en PHP code optimaliseert. Eens geïnstalleerd moet de gebruiker niets speciaal meer doen.

Installeer het pakket met pecl:

[message type="info" style="" title=""]pecl install apc[/message]

Na de installatie komt er deze boodschap:

Build process completed successfully
Installing '/usr/local/lib/php/extensions/no-debug-non-zts-20060613/apc.so'
install ok: channel://pecl.php.net/APC-3.0.19
configuration option "php_ini" is not set to php.ini location
You should add "extension=apc.so" to php.ini

Pas php.ini aan via het controlepaneel of rechtstreeks met dit commando:

Nano usr/local/lib/php.ini

Zoek in het php.ini bestand naar extension_dir en pas als volgt aan:

extension_dir = "/usr/local/lib/php/extensions/no-debug-non-zts-20060613/"

Zet de extensie aan door in php.ini bij de extensies deze regel toe te voegen:

extension=apc.so

Herstart de webservice:

Service httpd restart

Memcached installeren

Om memcached te installeren heb je eerst libevent nodig:

wget http://cloud.github.com/downloads/libevent/libevent/libevent-2.0.16-stable.tar.gz
tar -xvf libevent-2.0.16-stable.tar.gz
cd libevent-2.0.16-stable
./configure;make;make install;

Als libevent in orde is is kan je memcached zelf installeren:

wget http://memcached.googlecode.com/files/memcached-1.4.10.tar.gz
gunzip memcached-1.4.10.tar.gz
tar -xvf memcached-1.4.10.tar
cd memcached-1.4.10
./configure;make;make install;

Doe vervolgens:

nano /etc/ld.so.conf.d/libevent-i386.conf
en vul dit in:

/usr/local/lib/

Druk ctrl+o en ctrl+x om de editor af te sluiten
Nu moeten we PHP nog laten weten hoe memcached te gebruiken:

ldconfig
wget http://launchpad.net/libmemcached/1.0/1.0.2/+download/libmemcached-1.0.2.tar.gz
tar -zxvf libmemcached-0.40.tar.gz
cd libmemcached-0.40
./configure

Voer dit uit:

make && make install
en tot slot:
pecl install memcached

Voeg nu zoals bij APC de volgende regel toe in php.ini

extension=memcached.so

Herstart de webserver

Service httpd restart

PECL upload progress installeren voor Drupal
Om je installatie volledig in orde te hebben en geen fouten te krijgen in de status rapportage kan je de upload progress libary installeren.

Wget http://pecl.php.net/get/uploadprogress-1.0.3.1.tgz
Tar –zxvf uploadprogress-1.0.3.1.tgz
Cd uploadprogress-1.0.3.1.tgz
phpize
./configure
make
sudo make install

Voeg tot slot het volgende toe aan php.ini

extension=uploadprogress.so

Herstart de webserver

Service httpd restart

Uiteraard niet vergeten de cache instellingen in de Drupal backend zelf aan te zetten en je installatie is klaar!