Einfache und schnelle Performance Optimierung - Drupal + Squid

Squid Reverse Proxy

Durch den Einsatz von einem Reverse Proxy, in unserem Fall Squid, ist es möglich Webseiten zwischenzuspeichern und extrem schnell auszuliefern. Dies ist besonders hilfreich bei anonymem Zugriff auf Drupal.

Squid hat als ein Webproxy/HTTP-Proxy den Vorteil, dass er sehr einfach in der Handhabung ist ohne großen zusätzlichen Aufwand gut mit Drupal 7 zusammenarbeitet. Man benötigt nur ein Tool um den Zwischenspeicher von Squid über Drupal zu leeren, damit Drupal den Inhalt der Webseite nach einer Änderung auch im Cache des Proxy leert oder ändert.

Das Setup / HowTo für Drupal

1. Squid installieren und konfigurieren

Um Squid zu installieren, kann man das Tool yum benutzen:

yum install squid

Jetzt benötigt man die Konfiguration für Squid, hierzu haben wir bei Github ein Repository eingerichtet

cd /etc/squid/
rm squid.conf ; wget https://raw.githubusercontent.com/afdata/drupal-squid-config/master/squid.conf

Jetzt muss man seine IP-Adresse für den Squid-Dienst in die Datei /etc/hosts eintragen und

/etc/hosts

178.63.27.201                external-ip-squid
service squid restart

2. Drupal anpassen

Damit Drupal weiß, dass es jetzt hinter einem Reverse Proxy liegt, muss in der Drupal-Konfigurationsdatei sites/default/settings.php folgendes eingetragen werden:

$conf['reverse_proxy'] = TRUE;
$conf['reverse_proxy_header'] = 'HTTP_X_FORWARDED_FOR';
$conf['reverse_proxy_addresses'] = array('178.63.27.201'); 

Die IP 178.63.27.201ist die Quelladresse des Reverse Proxy. Von dieser Adresse aus wird auf den Webserver und Drupal zugegriffen.

3. Drupal-Module "purge" und "expire" installieren

Da das Modul "purge" nicht ohne das Drupal Modul "expire" funktioniert, müssen beide Module installiert werden.

Projekt Webseite von Purge: http://drupal.org/project/purge

Projekt Webseite von Expire: http://drupal.org/project/expire

cd sites /all/modules/
wget http://ftp.drupal.org/files/projects/purge-7.x-1.6.tar.gz
tar -xvf purge-*.gz
wget http://ftp.drupal.org/files/projects/expire-7.x-2.0-rc4.tar.gz
tar -xvf expire-*.gz
rm expire-*.gz
rm purge-*.gz 

Weitere Informationen, wie man Module in Drupal installiert bekommt man hier:
http://drupal.org/documentation/install/modules-themes/modules-7

4. Das Modul Purge konfigurieren

Das Modul muss erst einmal aktiviert werden; Hierzu geht man im Drupal Backend auf:

/admin/modules

Nachdem das Modul Purge aktiviert wurde, muss man die Squid URL für Drupal eintragen:

/admin/config/development/performance/purge

http://178.63.27.201:80

Testen der Drupal Performance

Wir führen erst einmal einen kleinen Test in Firefox mit dem Plugin Firebug durch und greifen auf unsere Webseite zu.
Wichtig ist hierbei, dass Cookies gelöscht und der Browser-Cache geleert werden, um gute Resultate zu erzielen.

Squid Response AF Data Muechen

Wir sehen einen HTTP Response Code 200 (OK) und die Antwortzeit beträgt ca. 40 ms auf der Website.

Infos zu diesen Setup

Alternativen zu Squid

  • Nginx als Reverse Proxy
  • Apache als Reverse Proxy mit mod_proxy und mod_cache
  • Varnish
  • Apache Traffic Server - ein Web Reserve Proxy Server

Neuen Kommentar hinzufügen