TYPO3 und Content delivery networks

Eingetragen von am Dienstag, 17.11.2009 | Allgemein, TYPO3 Extensions, TYPO3 Technik

Wir hatten diesmal in einem Projekt die Idee, statische Inhalte nicht vom selben Server zu laden, wo auch PHP prozessiert wird. Daher wurde dann ein Cookie-freier, Caching-optimierter Server zur Auslieferung von Statischen Dateien konfiguriert.

Dabei hatten wir uns folgende Vorteile versprochen:

  1. Alte Browser können Daten schneller laden
  2. Etwas schnellere Auslieferung der statischen Dateien
  3. Bessere Leistungsergebnisse unter hoher Last
  4. Entlastung für den www-Server
  5. Schnellere Seitenauslieferung von HTML-Dateien
  6. Schnellere PHP-Prozessierung

Mit der Extension ja_replacer konnten wir die Anforderung in TYPO3 umsetzen:

  1. Alle Statischen Dateien sollen von static.domain.com ausgeliefert werden
  2. Sichere Verbindungen müssen berücksichtigt werden
  3. Statisches Caching muss weiterhin funktionieren

Die Stelle, wo Ja_replacer ansetzt, ist direkt am Output von TYPO3, also kurz bevor ausgeliefert, bzw. in den Cache geschrieben wird. An dieser Stelle können nochmals beliebige Strings gesucht und ersetzt werden. Das Setup wird per TYPOScript gemacht, wir ersetzen in unserem Fall alle Links zu den einschlägigen Verzeichnissen, in welchen sich statische Infos aufhalten:

#Welche Links sollen ersetzt werden? (jeweils mit und ohne Slash am Anfang)
config.tx_ja_replacer.search {
	10="/typo3temp/
	11="typo3temp/
	12="/fileadmin/
	13="fileadmin/
	14="/typo3conf/
	15="typo3conf/
}

#Mit was soll ersetzt werden, wenn im unsicheren Bereich (http)
tx_ja_replacer.unsecure = COA
tx_ja_replacer.unsecure {
	10="http://static.domain.com/typo3temp/
	11="http://static.domain.com/typo3temp/
	12="http://static.domain.com/fileadmin/
	13="http://static.domain.com/fileadmin/
	14="http://static.domain.com/typo3conf/
	15="http://static.domain.com/typo3conf/
}

#Mit was soll ersetzt werden, wenn im sicheren Bereich (https)
tx_ja_replacer.secure = COA
tx_ja_replacer.secure {
	10="https://static.domain.com/typo3temp/
	11="https://static.domain.com/typo3temp/

	12="https://static.domain.com/fileadmin/
	13="https://static.domain.com/fileadmin/

	14="https://static.domain.com/typo3conf/
	15="https://static.domain.com/typo3conf/
}

#Domain Setup:
[globalString = ENV:HTTP_HOST = www.domain.com]
	#normalfall, wird statisch gecached
	page.config.baseURL = http://www.domain.com/
	config.tx_ja_replacer.replace < tx_ja_replacer.unsecure
[global]
[globalString = ENV:HTTP_HOST = www.domain.com] && [globalString = _SERVER|HTTPS=on]
	page.config.baseURL = https://www.domain.com/
	config.tx_ja_replacer.replace < tx_ja_replacer.secure
[global]

Wenn wir die Leistungsergebnisse gemessen haben, werde ich an dieser Stelle nochmal einen Bericht anfügen.

14 Kommentare bisher

14 Antworten zu “TYPO3 und Content delivery networks”

  1. Olivier Dobberkau am Mittwoch, 18.11.2009 um 8:29 Uhr

    Cool. Wir haben das auch bei uns im Einsatz. Wir nutzen hierbei die Cloudfront von Amazon. Super wie man dass auch per CNAME auf eine Subdomain mappen kann.

  2. Sebastian Böttger am Mittwoch, 18.11.2009 um 9:48 Uhr

    Hi,

    super Idee! Das muss ich glatt mal ausprobieren.
    Was war der Grund für diese Designentscheidung? Wieviel Traffic ist auf dem Server?

  3. Michael am Mittwoch, 18.11.2009 um 10:41 Uhr

    Die Seite ist generell gut besucht, aber jeder Zentimeter Luft nach oben ist ein Schritt in die richtige Richtung.

    Und Ihr wisst ja: http://t3n.de/news/seo-google-ranking-site-speed-260247/

  4. t3n.de/socialnews am Freitag, 20.11.2009 um 10:28 Uhr

    TYPO3 und Content Delivery Networks (CDN)…

    Wie man Content Delivery Networks, bzw. ein “Cookie-Free Domain Setup” ganz leicht in TYPO3 einbinden kann….

  5. Michael am Montag, 21.12.2009 um 0:38 Uhr

    Und wie sieht es aus, habt ihr Performancetests gemacht? Denn das “Suchen/ Ersetzen dauert natürlich auch.

    Toll wäre es, wenn man in den Core etwas ähnliches wie config.absRefPrefix packen könnte, dass aber nur die entsprechenden Verzeichnisse umschreibt. Und nicht die Links.

  6. Michael am Montag, 21.12.2009 um 11:48 Uhr

    Das Suchen/Ersetzen dauert kaum.. wird auch nur einmal vor dem Wegcachen gemacht.

  7. Michael am Montag, 21.12.2009 um 16:41 Uhr

    Okay, dann werde ich es mal testen.

  8. [...] auf die Files.Informationen zur Integration eines CDN in TYPO3 findet man auf den Seiten von Margit AGWeitere Links zum Thema:http://de.wikipedia.org/wiki/Content_Distribution_Network [...]

  9. Christian Leicht am Freitag, 28.05.2010 um 13:36 Uhr

    Ich setzte CDN auf einigen Seiten ein. Für WordPress gibt es einige PlugIns die es unterstützen, aber die Lösung für TYPO3 funktioniert auch prima.

    Coral CDN stellt ein kostenloses CDN zur Verfügung, das brauchbar ist.
    Weitere Infos unter:
    http://www.webseiten.leicht.info/2010/05/cdn-content-distribution-network-einsetzen/

  10. [...] Agentur Marit AG zeigt in ihrem Blog, wie leicht man Typo3 und Content Delivery Networks (CDN) miteinander verbinden [...]

  11. TYPO3 Tutorial Sammlung | TYPO3 Blogger am Mittwoch, 11.05.2011 um 13:21 Uhr

    [...] TYPO3 und Contentdelivery networks – ja_replacer (blog.marit.ag) [...]

  12. Anonymous am Samstag, 16.07.2011 um 0:16 Uhr

    [...] http://typo3.org/extensions/reposito…lacer/current/ Wie man es einsetzen kann, steht hier: Marit AG TYPO3 Blog TYPO3 und Content delivery networks Ich habe diese Setup seit dem Start von cloudfront mit origin pull laufen und bin sehr zufrieden. [...]

  13. Christian am Freitag, 19.08.2011 um 13:47 Uhr

    Scheinbar steht das Plugin ja_replacer im Repository nicht mehr zur Verfügung. Ist das ein Fehler oder gewollt? http://typo3.org/extensions/repository/view/ja_replacer/current/

  14. Michael Fritz am Mittwoch, 12.10.2011 um 10:39 Uhr

    Wieso, ich sehe es doch noch??

Trackback URI | Comments RSS

Hinterlasse eine Antwort