OSCam/it/Loadbalancing

Aus Streamboard Wiki
Zur Navigation springen Zur Suche springen

LanguageDE S.png OSCam Übersicht LanguageEN S.png OSCam Home LanguageFR S.png OSCam Accueil LanguageIT S.png OSCam Home

WarningS.png Attenzione: Il contenuto della traduzione in italiano e parzialmente in tedesco. Registrati e aiutaci a complementare e tradurre!

Loadbalancing

Wie funktioniert der Loadbalancer?

Wenn man auf ein verschlüsseltes Programm schaltet, muß OSCam eine dem Programm entsprechende Karte finden, die sich hinter einem Reader befindet. Es wird also ein ECM request an einen gültigen Reader geschickt.

Nach folgenden Bedingungen lernt der Loadbalancer, welche srvids (Programme) auf welchen readern zu Verfügung stehen.

Lb weight calc2.png

Wie ermittelt OSCam einen gültigen Reader?

Für jeden ECM Request werden zuerst die gültigen reader ermittelt. Dies geschieht durch:

  • Gruppe des account passt zu Gruppe reader
  • reader ist enabled und nicht gelöscht
  • reader caids passen zu ECM request oder reader hat keine caids
  • reader services passen zu ECM request oder reader hat keine services
  • reader idents passen zu ECM request oder reader hat keine idents
  • reader chids passen zu ECM request oder reader hat keine chids
  • bei caid 0500 zusätzliche Prüfung auf nanos

Wenn all diese Prüfungen positiv sind, dann wird der reader für diesen ECM Request ausgewählt. Diese Prüfung wird für alle Reader durchgeführt und der Loadbalancer erhält so eine Liste alle möglichen reader für diesen ECM Request.

Ist nun der loadbalancer aktiviert, so ermittelt er aus dieser Menge die Loadbalancer Werte (LB_WERT).

Für jeden Reader (aus der Liste der gültigen) wird dann der LB_WERT ermittelt, indem

lb_mode=1: die durchschnittliche Antwortzeit des readers für diesen service durch das lb_weight geteilt wird.

lb_mode=2: die Letzte Antwortzeit relativ zur frühesten Antwortzeit gemessen wird.

lb_mode=3: das usagelevel (Idlezeit im Verhältnis der ECM-Verarbeitungszeit) gemessen wird.

Die ermittelten Reader werden dann nach diesem LB_WERT sortiert (kleinster zuerst) und zugeordnet:

  • Ist "Prefer local cards" aktiviert, werden zuerst lb_nbest Reader zugeordnet, die keine Proxies sind
  • Ist lb_nbest Reader noch nicht erreicht, so werden die verbleibenden Reader der reihe nach zugeordnet, bist lb_nbest Reader erreicht ist.
  • Danach werden lb_nfb Reader als Fallback-Reader zugeordnet

Normalerweise sollte lb_nbest readers = 1 sein, da es nicht notwendig ist, mehr als einen reader anzufragen.

Nebenbedinungen, die zusätzlich Reader auswählen:

  • Keine Statistik vorhanden: Reader wird ausgewählt
  • Statistik vorhanden aber lb_min_ECMcount nocht nicht erreicht: Reader wird ausgewählt
  • Statistik vorhanden, ECM Anzahl > lb_max_ECMcount: Reader wird ausgewählt, wenn durchschnittliche Antwortzeit > lb_retrylimit und die Stats werden resetet.

Der ECM Request wird dann ausgeführt und an die entsprechenden reader geschickt.


Antwortet ein Reader mit "not found", so wird dieser geblockt.

Antwortet ein Reader 5x nacheinander nicht auf ECM-Requests (timeout), so wird dieser geblockt. (siehe lb_min_ecmcount)

Antwortet ein Reader korrekt, so wird dessen Zeit für die Antwort gemessen und in die Statistik eingetragen.

Sind Service oder Ident vorhanden, werden ECM-Requests für die zugeordneten Reader immer ausgeführt.


Diese Seite in anderen Sprachen - This page in other languages - Cette page dans d'autres langues - Queste pagine in altre Lingue

LanguageDE S.png [[OSCam/de/{{#titleparts:OSCam/it/Loadbalancing|3|3}}|Deutsch]] LanguageEN S.png [[OSCam/en/{{#titleparts:OSCam/it/Loadbalancing|3|3}}|English]] LanguageFR S.png [[OSCam/fr/{{#titleparts:OSCam/it/Loadbalancing|3|3}}|Français]] LanguageIT S.png [[OSCam/it/{{#titleparts:OSCam/it/Loadbalancing|3|3}}|Italiano]]