W3 Total Cache – Auslagern der Cachedateien

Wir nutzen für unsere Blogs das sehr empfehlenswerte Tool “W3 Total Cache”.
Unsere Webseiten laufen zudem als virtuelle Maschinen auf einem Windows Server 2012, dessen Hypervisor (Hyper-V 3.0) auch die Möglichkeit von Replicas beinhaltet. 
Leider verursacht das WordPress Plug-In sehr hohe Schreib- und Leserate im Cache Verzeichnis, wodurch eine Replikation der virtuellen Maschine über eine Internetverbindung problematisch ist.
Aus diesem Grund entwickelten wir ein Workaround, wie die temporären Dateien des Plug-Ins in einer gesonderten, nicht replizierten, VHD abgelegt werden können.
WICHTIG: Es ist nur ein Workaround, was bedeutet, dass wir nicht für eine permanente Funktionstüchtigkeit garantieren können. Viel Spaß beim Lesen.

Schritt 1:

Wir beginnen mit dem Erstellen einer virtuellen Harddisk (VHD), auf die wir die Cache Dateien ablegen können.
Dazu wechseln wir auf dem Hyper-V Host in den Hyper-V Manager.
Dort klicken wir auf: NEU –> Festplatte…

27-06-2012 10-14-35

Es öffnet sich ein Wizard, den wir durchlaufen. In diesem Szenario erstellen wir eine feste 1Gb große VHDX Datei und nennen sie “Cache.vhdx”.

27-06-2012 10-16-21
Diese kopieren / speichern wir dann in das Verzeichnis in der bereits die andere VHD der VM liegt.
In den Eigenschaften der Virtuellen Maschine legen wir nun noch fest, ob sie am IDE oder SCSI Anschluss angebunden werden soll. Kleiner Hinweis: Wenn Sie z.B. die Auslagerungsdatei ebenfalls in diese VHD legen möchten, muss die VHD(X) an den IDE-Controller angeschlossen werden, da nur dieser direkt beim Booten zur Verfügung steht.
Nach dem erfolgreichen Anfügen der VHD wechseln wir wieder in die VM.

Um die VHD nutzen zu können, muss sie im Windows Explorer verfügbar gemacht werden.
Diesen Vorgang führen wir aus indem wir die Datenträgerverwaltung öffnen, die Platte initialisieren und darauf eine neues Volume erstellen.
In diesem Fall nennen wir es “Cache” und weisen den Laufwerksbuchstaben “D” zu.

27-06-2012 10-55-31

Schritt 2:

Nun navigieren wir in das Verzeichnis, in dem wir die temporären Cachedateien des Tools vorfinden. Normalerweise ist das gesuchte Verzeichnis “w3tc” unter diesem Pfad zu finden:
C:\inetpub\wwwroot\BLOGNAME\wp-content

Zuerst kopieren wir die gesamte Verzeichnisstruktur aus dem Ordner in die VHD.

27-06-2012 10-57-13

Danach gleichen wir in die Sicherheitseinstellungen des “w3tc” Ordners den Sicherheitseinstellungen der VHD an.

27-06-2012 10-59-13

Rechtsklick auf die VHD –> Eigenschaften –> Reiter: Sicherheit –> Bearbeiten –> Hinzufügen –> IUSR und IIS_IUSRS mit Vollzugriff (Einstellungen können abweichen, je nach dem, wie Sie Ihre Sicherheitskonfiguration eingestellt haben)

Nun können wir den Ordner “w3tc” im wp-content Verzeichnis löschen oder umbenennen.

Schritt 3:

Jetzt müssen wir nur noch das Plug-In dazu bewegen, die temporären Cachedateien in die VHD zu schreiben.
Dazu erstellen wir einen virtuellen Link (SymLink / MKLink).

Wir öffnen die Eingabeaufforderung als Administrator und geben dort folgendes ein:

MKLINK /J “C:\inetpub\wwwroot\BLOGNAME\wp-content\w3tc” “D:\”

(D muss durch den Laufwerksbuchstaben der VHD ersetzt werden, wenn Ihre Konfiguration abweicht)

Es folgt eine Meldung, dass der virtuelle Link erstellt wurde und wir finden ein neues Symbol an der Stelle an der früher der Ordner zu sehen war.

image

Schritt 4:

Eigentlich wären wir nun schon fertig, aber sobald man das Plug-In im WordPress deaktiviert, würde auch der virtuelle Link gelöscht. Wenn man es dann wieder einschaltet, würde das Plug-In wieder einen neuen Ordner im wp-content Verzeichnis anlegen.
(Dieses Szenario kommt meist bei einen Versionsupdate des Blogs vor)

Um dies zu unterbinden, öffnen wir die Sicherheitseinstellungen des virtuellen Links:

Rechtsklick auf die w3tc –> Eigenschaften –> Reiter: Sicherheit –> Bearbeiten

Dort klicken wir auf IUSR und IIS_IUSRS und setzen bei jedem Benutzer die Zugriffsrechte auf “Verweigern”.
image

Damit kann der Link vom Plug-In nicht mehr gelöscht werden.

Mit diesem Schritt ist die Konfiguration abgeschlossen und die Cachedateien werden ab jetzt in die gesonderte VHD geschrieben.

Man kann diese Methode auch dafür nutzen, um die temporären Dateien in den Arbeitsspeicher des Systems auszulagern (Memcache).
Dafür benötigt man ein Tool zum Erstellen einer RAMDisk (Der Arbeitsspeicher wird hierbei als Datenträger genutzt und wird wie eine VHD im Windows Explorer angezeigt).
Man legt den Umlenkungspfad (MKLink) auf die RAMDisk und kann somit die Geschwindigkeitsvorteile des Arbeitsspeichers für das Plug-In nutzen.

Teilen:

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.