Vinyl Cache

Vinyl Cache

Basisdaten

Entwickler Poul-Henning Kamp, Linpro, Varnish Software
Erscheinungsjahr 2005[1]
Aktuelle Version 9.0.0[2]
(16. März 2026)
Betriebssystem Unix
Programmier­sprache C
Kategorie Cache, HTTP-Accelerator
Lizenz BSD
deutschsprachig nein
vinyl-cache.org

Vinyl Cache (ehemals Varnish Cache[3]) ist ein Cache für dynamische Webseiten mit viel Inhalt. Im Gegensatz zu anderen Reverse-Proxys, die häufig aus clientseitigen Proxys oder aus Servern entstanden, wurde Vinyl Cache von Grund auf als Reverse-Proxy konzipiert. Vinyl Cache wird von Internetseiten wie TAZ, Facebook, Twitter, SoundCloud[4], eBay, The New York Times[5], The Hindu, Vimeo, Die Zeit[6] und Wikipedia eingesetzt.[7]

Vinyl Cache ist freie Software, die unter der BSD-Lizenz steht.[8]

Geschichte

Das Projekt wurde initiiert durch den Online-Ableger der norwegischen Boulevardzeitung Verdens Gang. Architekt und Hauptentwickler ist der unabhängige dänische Softwareentwickler Poul-Henning Kamp. Management, Infrastruktur und zusätzliche Entwicklung wurden ursprünglich auch von der norwegischen Linux-Beratungsfirma Linpro zur Verfügung gestellt.

Im Jahr 2025 wurde die Umbenennung des Projektes von Varnish Cache in Vinyl Cache angekündigt.[9]

Versionen

Version Veröffentlichungsjahr Anmerkungen/Referenzen
1.0 2006 [10]
2.0 2008 [11]
3.0 2011 [12][13]
4.0 2014 [14]
5.0 2016 [15]
6.0 2018 [16]
7.0 2021 [17]

Architektur

Vinyl Cache legt Daten im virtuellen Speicher ab und überlässt dem Betriebssystem die Entscheidung, was im Hauptspeicher verbleiben und was auf die Festplatte ausgelagert werden soll. Dies trägt dazu bei, Situationen zu vermeiden, in denen das Betriebssystem beginnt, Daten zu cachen, während sie durch die Applikation auf die Festplatte geschrieben werden.

Darüber hinaus ist Vinyl Cache stark thread-basiert. Jede Verbindung zu einem Client wird als separater Arbeitsthread behandelt. Ist das voreingestellte Limit von aktiven Arbeitsthreads erreicht, werden eingehende Verbindungen in eine Überlaufwarteschlange gestellt. Erst wenn das voreingestellte Limit dieser Warteschlange erreicht ist, werden eingehende Verbindungen abgelehnt.

Der hauptsächliche Konfigurationsmechanismus ist die Varnish Configuration Language (VCL), eine domänenspezifische Sprache, die dazu verwendet wird, bei kritischen Punkten in der Anfragebehandlung Hooks zu schreiben. Die meisten dieser Entscheidungen bleiben dabei dem VCL-Code überlassen, was Vinyl Cache deutlich stärker konfigurierbar und anpassbar macht als die meisten anderen Reverse-Proxys. Wenn ein VCL-Skript geladen wird, findet eine Übersetzung in C statt, es wird als Shared Object kompiliert und direkt in den Proxy gelinkt.[18]

Eine Reihe von Laufzeiteinstellungen kontrollieren Parameter wie die maximale und minimale Anzahl der Arbeits-Threads und diverse Timeouts. Eine Schnittstelle auf Kommandozeilenebene erlaubt die Änderung dieser Parameter und das Kompilieren, Laden und Aktivieren neuer VCL-Skripte ohne einen Neustart des Proxys.

Um die Anzahl der Systemaufrufe auf ein Minimum zu reduzieren, werden Logdaten im Shared Memory abgelegt und die Aufgaben der Filterung, Formatierung und Speicherung auf Festplatte an eine getrennte Applikation übergeben.

Geschwindigkeit

Während Vinyl Cache so entwickelt wurde, dass Threads möglichst reibungslos nebeneinander ablaufen können, kann die Performance von Vinyl Cache nur so gut sein wie die Implementierung der pthreads auf dem Betriebssystem. Eine schlechte malloc-Implementierung kann außerdem unnötige Ressourcen beanspruchen und damit die Performance begrenzen.

Lastverteilung

Vinyl Cache unterstützt Lastverteilung sowohl im Round-Robin-Verfahren als auch zufällig gesteuert.[19]

Siehe auch

Einzelnachweise

  1. Introduction. (abgerufen am 7. Juni 2026).
  2. Releases & Downloads.
  3. Vinyl Cache: On Vinyl Cache and Varnish Cache. 8. April 2026, abgerufen am 6. Juni 2026.
  4. What technologies is SoundCloud built on. Abgerufen am 26. Januar 2015 (englisch).
  5. Varnish Software – About. In: Facebook. Abgerufen am 14. Dezember 2014 (englisch, Seite der Varnish Software AS auf Facebook).
  6. Who relies on Varnish? In: varnish-software.com. Varnish Software AS, ehemals im Original (nicht mehr online verfügbar); abgerufen am 14. Dezember 2014 (englisch).@1@2Vorlage:Toter Link/www.varnish-software.com (Seite nicht mehr abrufbar. Suche im Internet Archive) ( Info: Der Link wurde automatisch als defekt markiert. Bitte prüfe den Link gemäß Anleitung und entferne dann diesen Hinweis.)
  7. Wikipedia:Server
  8. Vinyl Cache: Introduction. Abgerufen am 6. Juni 2026 (englisch).
  9. Slagelse: 20 years old and it is time to get serious(er). In: The Vinyl Cache Project. 15. September 2025, abgerufen am 6. Juni 2026 (englisch).
  10. „Making Catalyst Sites Shine with Varnish“, Dec. 14, 2008
  11. „Varnish 2.0 released!“, Oct. 15 2008
  12. „Varnish Cache 3.0.0“ (Memento des Originals vom 1. Mai 2013 im Internet Archive)  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/www.varnish-cache.org
  13. „Varnish Cache 3.0.0 released“, Jun. 16 2011
  14. „Varnish Cache 4.0.0“, Apr. 10 2014 (Memento des Originals vom 25. Mai 2014 im Internet Archive)  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/www.varnish-cache.org
  15. varnishcache/varnish-cache. In: GitHub. Abgerufen am 8. November 2016.
  16. Varnish Cache 6.0.0 Release Notes. In: GitHub. Abgerufen am 17. März 2018.
  17. varnish-cache/changes.rst at master · varnishcache/varnish-cache. Abgerufen am 15. September 2021 (englisch).
  18. The Varnish Cache Contributors: VCL - Varnish Configuration Language. In: Varnish Documentation. Abgerufen am 6. Juni 2026 (englisch).
  19. https://varnish-cache.org/wiki/BackendPolling

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.