Lack (Software)
Entwickler (en) | Poul-Henning Kamp, Redpill-linpro, Lacksoftware |
---|---|
Stabile Version | 7.1.0[1] ![]() |
Repository | |
Geschrieben in | C |
Betriebssystem | BSD, Linux, Unix |
Typ | HTTP -Beschleuniger |
Lizenz | Zwei-Klausel-BSD-Lizenz |
Webseite | Lack-Cache![]() |
Lack ist ein HTTP -Beschleuniger Entworfen für inhaltslastige Dynamische Websites ebenso gut wie Apis. Im Gegensatz zu anderen Webbeschleuniger, wie zum Beispiel Tintenfisch, was das Leben als kundenseitiger Cache begann, oder Apache und nginx, die in erster Linie sind Herkunftsserver, Lack wurde als HTTP -Beschleuniger entworfen. Lack ist ausschließlich auf Http, im Gegensatz zu anderen Proxy -Server das unterstützt oft Ftp, SMTP und andere Netzwerkprotokolle.
Geschichte
Das Projekt wurde von der Online -Zweigstelle der norwegischen Boulevardzeitung initiiert Verdens Gang. Der Architekt und leitende Entwickler ist der dänische unabhängige Berater Poul-Henning Kamp (ein bekannter Freebsd Entwickler) mit Management, Infrastruktur und zusätzlicher Entwicklung, die ursprünglich vom norwegischen Linux -Beratungsunternehmen Linpro bereitgestellt wurde. Die Unterstützung, das Management und die Entwicklung von Lack wurde später in ein separates Unternehmen, Varnish -Software, ausgedrückt.
Lack ist Kostenlose und Open -Source -Software, erhältlich unter zwei Klausel BSD -Lizenz. Kommerzielle Unterstützung ist unter anderem bei Varnish Software erhältlich.
Version 1.0 von Lack wurde 2006 veröffentlicht.[2][3] Lack 2.0 im Jahr 2008,[4] Lack 3.0 im Jahr 2011,[5] Lack 4.0 im Jahr 2014,[6] Lack 5.0 im Jahr 2016,[7] und Lack 6.0 im März 2018.[8]
Die Architektur
Lack speichert Daten in virtueller Speicher und lässt die Aufgabe, zu entscheiden, was im Gedächtnis gespeichert wird und was zur Festplatte zum Scheiben ausgelöst wird Betriebssystem. Dies hilft, die Situation zu vermeiden, in der das Betriebssystem Daten zwischen dem Zwischenspeichern wird, während es von der Anwendung auf die Festplatte verschoben wird.
Lack ist stark Gewinde, wobei jede Kundenverbindung von einem separaten Arbeiter -Thread behandelt wird. Wenn die konfigurierte Grenze für die Anzahl der aktiven Arbeiter -Threads erreicht ist, werden eingehende Verbindungen in einer Überlaufwarteschlange platziert. Wenn diese Warteschlange ihre konfigurierten Limit eingehenden Verbindungen erreicht, wird abgelehnt.
Der Hauptkonfigurationsmechanismus ist Lackkonfigurationssprache (Vcl), a Domänenspezifische Sprache (DSL) wurde verwendet, um Haken zu schreiben, die an kritischen Punkten in der Handhabung jeder Anfrage aufgerufen werden. Die meisten Richtlinienentscheidungen werden dem VCL -Code überlassen, wodurch Lack konfigurierbarer und anpassungsfähiger wird als die meisten anderen HTTP -Beschleuniger. Wenn ein VCL -Skript geladen wird, wird es auf übersetzt C, kompiliert durch den System Compiler, der an ein gemeinsam genutztes Objekt zusammengestellt und direkt in den Beschleuniger geladen wird, der somit ohne Neustart neu konfiguriert werden kann.
Eine Reihe von Laufzeitparametern steuern Dinge wie das Maximum und die minimale Anzahl von Worker-Threads, verschiedene Zeitüberschreitungen usw. Mit einer Befehlsleitungsverwaltungsschnittstelle können diese Parameter geändert werden, und neue VCL-Skripte können kompiliert, geladen und aktiviert werden , ohne den Beschleuniger neu zu starten.
Um die Anzahl der Systemaufrufe im schnellen Pfad auf ein Minimum zu reduzieren, werden Protokolldaten in gespeichert geteilte Erinnerungund die Aufgabe der Überwachung, Filterung, Formatierung und Schreiben von Protokolldaten in die Festplatte wird an eine separate Anwendung delegiert.
Leistungsmetriken
Varnish -Cache kann die Lieferung von Informationen um einen Faktor von mehreren hundert beschleunigen. Um den ordnungsgemäßen Betrieb und die Leistung sicherzustellen, enthält Lack Metriken, die in den folgenden Bereichen überwacht werden können:[9]
- Kundenmetriken: Clientverbindungen und Anfragen
- Cache -Leistung: Zwischenspeicher Hits, Räumungen
- Thread -Metriken: Thread -Erstellung, Fehler, Warteschlangen
- Backend -Metriken: Erfolg, Scheitern und Gesundheit von Backend Verbindungen
Metrische Sammlung
Lack -Cache wird mit Überwachungs- und Protokollierungswerkzeugen geliefert. Eines der am häufigsten verwendeten ist Lackstat, das eine detaillierte Momentaufnahme der aktuellen Leistung von Lack erzeugt. Es bietet Zugriff auf In-Memory-Statistiken wie Cache-Hits und Misses, Ressourcenverbrauch, erstellte Threads und mehr.[10]
Lack
Ausführen von Lackstat aus der Befehlszeile gibt eine kontinuierliche Aktualisierungsliste aller verfügbaren Lackmetriken zurück. Wenn das Flag -1 -Flag hinzugefügt wird, wird Lackstat nach dem Drucken der Liste einmal einmal beendet.[11] Lackstat kann als eigenständiges Werkzeug verwendet werden, um die Gesundheit des Cache zu erkennen. Um Kennzahlen im Laufe der Zeit zu grafisch zu grafisch, korrelieren Sie mit anderen Statistiken aus einer Infrastruktur und stellen Sie Warnungen über alle Probleme auf, die auftreten können. Überwachungsdienste können sich in Lack integrieren und Lackstat -Metriken sammeln.
Lacklog
Varnishlog ist ein Tool, mit dem die Konfiguration von Lack debuggen oder abgestimmt werden kann, da detaillierte Informationen zu jeder einzelnen Anforderung enthält.
Lastverteilung
Lackträger Lastverteilung Verwenden Sie beide a Runde Robin und ein zufälliger Direktor, beide mit einer Gewichtung von per Backend. Es ist ebenfalls eine grundlegende Gesundheitsprüfung von Backends verfügbar.[12]
Andere Eigenschaften
Lack Cache bietet auch:
- Pluginunterstützung mit Lackmodulen, auch VMODS bezeichnet[13]
- Unterstützung für Kantenseite beinhaltet einschließlich Nähten zusammen komprimierte ESI -Fragmente
- Gzip Komprimierung und Dekompression
- DNS-, Random-, Hashing- und Client-IP-basierte Direktoren
- HTTP Streaming Pass & Fetch
- Experimentelle Unterstützung für anhaltende Lagerung ohne LRU -Räumung
- Heilige[14] und Gnade[15] [16] Modi.
- Wenn ein Server fehlt und zurückgibt HTTP -Statuscode 500Der Grace -Modus ignoriert die Ablauf -Header und kehrt weiterhin zwischengespeicherte Versionen zurück. Der Saint -Modus ist für den Gebrauch, wenn Lastverteilung, wobei ein fehlender Server für eine Quarantänezeit auf die schwarze Liste steht und aus dem Serverpool ausgeschlossen ist.
Siehe auch
- Webbeschleuniger Dies erörtert Host-basierte HTTP-Beschleunigung
- Proxy Server wodurch kundenseitige Proxies erörtert werden
- Reverse Proxy die Ursprungs-Proxies erörtert
- Vergleich von Webservern
- Internet -Cache -Protokoll
- Guru Meditation - Eine von Lack verwendete Fehlermeldung
Verweise
- ^ "Lack Cache 7.1.0 freigegeben". 15. März 2022. Abgerufen 24. Juni 2022.
- ^ "Katalysator Adventskalender - Tag 14". www.catalyystframework.org. Abgerufen 4. September, 2020.
- ^ Smørgrav, Dag-Erling (20. September 2006). "Lack 1.0 freigegeben". Abgerufen 4. September, 2020.
- ^ Heen, Tollef Fog (15. Oktober 2008). "Lack 2.0 veröffentlicht!". Abgerufen 4. September, 2020.
- ^ Heen, Tollef Fog (17. Juni 2011). "Lack 3.0.0 freigegeben". Abgerufen 4. September, 2020.
- ^ Karstensen, Lasse (10. April 2014). "Lack 4.0.0 freigegeben". Abgerufen 4. September, 2020.
- ^ "Varnish Cache 5.0.0 - Lack HTTP -Cache". varnish-cache.org. Abgerufen 4. September, 2020.
- ^ Poul-Henning Kamp (15. März 2018). "Lack 6.0 freigegeben". Abgerufen 15. Mai 2018.
- ^ "Top Lack Performance Metrics". Top -Lack -Leistungsmetriken.28. Juli 2015. Abgerufen 4. September, 2020.
- ^ "Wie man Lackmetriken sammelt". Wie man Lackmetriken sammelt.28. Juli 2015. Abgerufen 4. September, 2020.
- ^ "Varnishstat (1): HTTP Accelerator Statistics - Linux Man Page". Linux.die.net. Abgerufen 4. September, 2020.
- ^ "Backendpolling - Lack".Varnish-cache.org. Abgerufen 2014-07-18.
- ^ "VMODS -Verzeichnis (Lackmodule und Erweiterungen) | Lack Community".Varnish-cache.org. Abgerufen 2014-07-18.
- ^ "Heiliger Modus". Lack. Archiviert von das Original am 7. Mai 2011.
- ^ "Grace -Modus". Lack. Archiviert von das Original am 9. Mai 2011.
- ^ Feryn, Thijs. Erste Schritte mit Lack Cache: Beschleunigen Sie Ihre Webanwendungen.O'Reilly Media, Inc. p.85. ISBN 9781491972229.
Externe Links
- Offizielle Website
- Offizielle kommerzielle Website
- Notizen vom Architekten
- "Du machst es falsch", 11. Juni 2010 ACM -Warteschlange Artikel von Lack Developer Poul-Henning Kamp, der die Implementierung der LRU-Liste beschreibt.
- Laie in Laien
- Lack Cache How-to