Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Viktoria Flater Geändert vor über 7 Jahren
1
Seminararbeit im Studiengang „Scientific Programming“ Konzeption eines nativen Webserver-Moduls zur hochperformanten Auslieferung dynamisch generierter Ressourcen aus einem Cache-Speicher Simon Roosen Matr.-Nr.: 4006700 Prüfer: Prof. Dr. rer. nat. Volker Sander, FH Aachen Betreuer: Martin Jansen, Bauer+Kirch GmbH
2
Gliederung Motivation Nginx Admon-Caching Modul-Aufbau Ausblick
3
Motivation Hohe Anforderungen an Flexibilität von Content-Management- Systemen →Aufbau von Seiten mit Komponenten →Viele Datenbank-Zugriffe zum Erzeugen einer Seite →Steht Anforderungen zu Geschwindigkeit entgegen
4
Motivation Aushilfe: Caching Fertige Seiten werden im Cache gespeichert + von dort ausgeliefert Aber: – CMS muss auch hierfür initialisiert werden – Begrenzung gleichzeitiger Requests Idee: Integration der Cache-Auslieferung in den Webserver
5
Nginx Webserver auf Basis einer Event-Loop Verarbeitung einzelner Requests kann pausiert und wieder fortgeführt werden → Gute Ausnutzung der Resourcen, auch während IO Hierdurch können große Massen an Requests „gleichzeitig“ verarbeitet werden Ist auf minimalen Overhead ausgelegt Modularer Aufbau → Optimal zur Entwicklung eines Moduls für Cache-Inhalte
6
Admon-Caching Metadaten (Dependencies,...) und Seiten-Inhalt getrennt gespeichert Key der Metadaten lediglich die URL Key des Seiten-Inhalt generiert aus den aufgelösten Dependencies → Unterstützung mehrerer Ausführungen einer Seite → Passive Invalidierung
7
Modul-Aufbau Modul soll die Seite aus dem Cache ausliefern Wenn nicht gefunden: Abgabe der Anfrage an das CMS Normaler Ablauf der Anfragen-Verarbeitung: Initialisierung → Zugriff-Check → Content-Generierung → Abschluss Während Content-Generierung: Keine Garantie auf Ausführung vor dem CMS → Simulation einer Phase zwischen Zugriff-Check und Content- Generierung
8
Modul-Aufbau Ablauf der Verarbeitung im Modul in Phasen aufgeteilt Phasen-Wechsel bei jedem Cache-Zugriff → Erlaub Pausierung des Moduls Sollte einer dieser Schritte nicht möglich sein: Abgabe an CMS
9
Ausblick Aktuell: Manche Daten müssen im Modul hinterlegt werden (z.B. Key-Präfix) → Entwicklung eines Mechanismus zur Übertragung dieser Daten aus dem CMS Teilen einer Verbindung zum Cache zwischen mehreren Requests Unterstützung mehrerer Memcache-Server Benchmarking von Latenz, Durchsatz und Server-Last → Wann macht das Modul wieviel Sinn
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.