Seit Jahren erwartet, ist endlich Version 4 des Samba-Servers erschienen, der nun als vollwertige Alternative zu Microsofts Active Directory dienen kann. In der ... (mehr)

Scheibchenweise

Lädt ein Benutzer eine große Videodatei herunter, so dauert das nicht nur eine Weile, es verbraucht auch ziemlich viel Bandbreite. Tengine kann deshalb auf Wunsch nur Teilstücke einer Datei herausgeben. Diese "Slicing" genannte Funktion muss der Anwender mit dem »configure« -Parameter »--with-http_slice_module« aktivieren und dann wie in Listing 4 in einem »location« -Block einschalten.

Listing 4

Slicing für Videos

 

»slice;« knipst dort zunächst das Slicing für alle Dateien an. Die Direktiven »slice_arg_begin« und »slice_end_arg« bestimmen die Kürzel, mit denen der Browser den Anfang beziehungsweise das Ende des Teilstücks festlegt. Möchte der Browser jetzt aus dem Video »titanic.mp4« das Teilstück von Byte 1024 bis Byte 2048 angeliefert bekommen, ruft er die folgende URL auf:

http://example.com/titanic.mp4?anf=1024&ende=2048

Den Rest übernimmt Tengine. Der Browser kann sich auf diese Weise die einzelnen Teile der Datei auch von unterschiedlichen Servern holen, was wiederum die Last besser verteilt.

Überlastung

Bei Systemüberlastungen oder zuneige gehendem Hauptspeicher kann Tengine eine Fehlermeldung zurückliefern oder auf einen anderen Server weiterleiten. Die Überwachung der Systemressourcen übernimmt das Sysguard-Modul, das man bei der Übersetzung von Tengine mit dem »configure« -Parameter »--with-http_sysguard_module« einschaltet. Anschließend erweitert man den »server« -Block um die Einstellungen aus Listing 5 .

Listing 5

Überwachungsfunktionen aktivieren

 

Zunächst schaltet »sysguard on« die Funktion ein. Sollte die Systemauslastung ( »sysguard_load« ) den hinter »load=« angegebenen Wert überschreiten, leitet Tengine alle Anfragen an die URL »/notfall« um, die hier im Beispiel den Fehler »503« zurückliefert. Das Gleiche passiert, wenn der Auslagerungsspeicher ( »sysguard_mem« ) einen Anteil von 25 Prozent überschreitet ( »swapratio=25%« ). Das Sysguard-Modul funktioniert übrigens nur, wenn das Betriebssystem den Systemaufruf »sysinfo« bereitstellt oder die installierte Glibc-Bibliothek die Funktion »getloadavg()« anbietet.

comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023