Extraido del manual oscam y no morir en el intento, entendiendo como se explica el significado de los parametros del load balancing, ya cada uno debe aplicarlos dependiendo de numero de peers etc....
B) Activar el llamado LOAD BALANCING
De
vital importancia cuando usemos el protocolo cccam, en
otros protocolos o cuando usemos la tarjeta de abonado no seria necesario.
En primer lugar mencionar por que es importante el load balancing, sobre todo en protocolo cccam:
S
i somos clientes de una tarjeta de abonado o del protocolo de comunicacion newcamd (que como dijemos es hacer sharing con una sola tarjeta a la vez), evidentemente el
cliente va pedir el desencryptado de una ECM solo a una tarjeta, mas que nada por que solo hay una
Pero
que pasa cuando utilizamos el protocolo cccam, pues c
omo vimos, en este protocolo se pueden compartir varias tarjetas a la vez ya sean locales o virtuales, por lo tanto,
que pasa cuando nosotros somos cliente del protocolo cccam y ponemos un canal que hay 6 tarjetas que nos pueden desencryptar la ecm,
¿a quien le pedimos que nos desencrypte la ecm de las seis tarjetas? pues
aqui entraria el juego el LOAD BALANCING.
Antes de ver como se realiza en OSCAM, vamos a poner
un ejemplo de como se realiza en la EMU CCCAM:
En un archivo se ponen los servidores donde nosotros mandamos las ecm a desencryptar, de la siguiente manera:
SERVIDOR 1
SERVIDOR 2------>Tiene tarjetas d+ caid 100
SERVIDOR 3
SERVIDOR 4------>Tiene tarjetas d+ caid 100
SERVIDOR 5------>Tiene tarjetas d+ caid 100
Ahora bien ponemos el canal telecinco de caid 100, pues la EMU CCCAM al primero que envia las ecms para desencryptarlas y obtener la CW es al primero de la lista que nos puede desencryptar la ECM y darnos la CW, por lo tanto se las envia al SERVIDOR 2, y se las envia siempre al SERVIDOR 2 hasta que el tiempo en recibir la CW supera los 3000 ms, entonces que hace cuando se supera ese tiempo, pues que la EMU CCCAM pasa a enviarle las ECM al siguiente de la lista o sea al SERVIDOR 4 y asi sucesivamente.
Bueno pues ahora veremos que en OSCAM la eleccion de a quien le enviamos las ecm para la obtencion de la cw, pues es mucho mas configurable que en la EMU CCCAM, y los parametros para realizar la eleccion de a quien mandar la ecm para obtener la cw, pues son los siguientes:
0----->
Desactivado el load_balancing, NO ES RECOMENDABLE, al utilizar el protocolo CCCAM ya que no habria ninguna regla establecida de a quien enviar las ecm para obtener la cw, por lo que se enviarian peticiones de ecm a todas las tarjetas nos hiciera falta la cw o no, por lo tanto generamos un volumen de peticiones de ecm muy alto, cosa que a los SERVIDORES no les hace gracia.
1------>
Se elije el SERVIDOR que mas rapido nos hace el desencryptado de la ecm, la eleccion del mas rapido se hace haciendo una media de velocidad con 5 ecm (esta media de 5 ecm es por defecto se puede disminuir)
2------>Se da
prioridad al SERVIDOR que mas tiempo llevamos sin utilizar
3------>Se da
prioridad al SERVIDOR que con mayor frecuencia utilizamos.
Normalmente pues dependiendo de nuestras necesidades pues elejiremos un valor u otro,
quizas lo mas usual sera utilizar:
lb_mode=1
El realizar los procesos para realizar las elecciones de los servidores, pues genera evidentemente un trabajo para OSCAM y evidentemente para la CPU del receptor,
con este parametro se elije si queremos que se guarden estadisticas sobre las ecm enviadas, asi OSCAM se ahorra el trabajo de repetir procesos de eleccion, por lo tanto es conveniente tenerlo activado:
0----->desactivado no se generan estadisticas
1000--->pues se guardan estadisticas de 1000 ecm, es recomendable mas de 100 y dependiendo la capacidad de la CPU de nuestro receptor pues ir subiendo esta cantidad.
Código:
[COLOR=#000000][FONT=sans-serif]lb_savepath[/FONT][/COLOR]
Elejimos si queremos que
esas estadisticas se guarden en un archivo y donde, por ejemplo:
lb_savepath=/var/etc/oscamstadisticas.log ---->pues las estadisticas se guardarian en el archivo llamado oscamstadisticas que se halla dentro de la carpeta /var/etc
Código:
[COLOR=#000000][FONT=sans-serif]lb_stat_cleanup[/FONT][/COLOR]
Como
esas estadisticas pues seran fiables en tiempos en concretos, es decir igual los servidores nos han generado unas estadisticas, que pasadas unas horas pues igual otras son mas fiables, por lo tanto
en este parametro se pondran las horas hasta que las estadisticas se borran y se crean unas nuevas:
lb_stat_cleanup=400-----> a las 400 horas de crearse las estadisticas de las ecm pues se borran.
Código:
[COLOR=#000000][FONT=monospace]lb_nbest_readers =[/FONT][/COLOR]
Sirve para
seleccionar mas de un servidor segun hallamos elejido la eleccion en el lb_mode, es decir, si en el lb_mode,
hemos elejido el servidor mas rapido o sea opcion 1, pues si en
lb_nbest_reader =1, pues las peticiones se las haremos a un solo servidor (al mas rapido), si
ponemos 2 pues las peticiones de ecm se las haremos a los dos servidores mas rapidos.
El valor recomendable en condiciones normales con servidores estables, seria poner
lb_nbest_reader =1, ya que de esta manera generamos menos peticiones de ecm, que si enviamos a dos evidentemente.
Código:
[COLOR=#000000][FONT=sans-serif]lb_max_readers =[/FONT][/COLOR]
Para realizar la eleccion por ejemplo del servidor mas rapido (teniendo lb_mode=1),
pues se realiza un proceso llamado learning, es decir
es un proceso de aprendizaje donde oscam realiza los procesos de eleccion de los SERVIDORES, es decir realiza el envio de ecms a los SERVIDORES para medir tiempos de respuesta ect... para generar estadisticas y asi realizar las selecciones, pues bien si en este
parametro ponemos el valor 0, quiere decir que
enviaremos ecms para realizar las selecciones a todos los SERVIDORES a la vez, si ponemos por ejemplo el
valor a 4 quiere decir que
enviaremos las ecm para realizar las selecciones a un grupo de 4 SERVIDORES luego a otro grupo etc...o sea
lo que hacemos es limitar el numero de ecms enviadas a los SERVIDORES en cada proceso learning.
Quizas un
valor recomendado seria lb_max_readers =4
Código:
[COLOR=#000000][FONT=monospace]lb_min_ecmcount =[/FONT][/COLOR]
Como comentemos
para realizar por ejemplo la eleccion de quien es el SERVIDOR mas rapido o sea (lb_mode=1),
por defecto OSCAM envia 5 ecm a cada servidor para realizar la media de respuestas y asi obtener el SERVIDOR mas rapido, pues bien
en este parametro lo que podemos hacer es cambiar el numero de ecms que oscam envia para realizar la media.
Evidentemente a
mayor numero de ecm mas trafico de ecm originamos, pero a la vez mayor fiabilidad de que el servidor elejido es el mas rapido, no es lo mismo claro esta realizar la media con 2 ecm que hacerlo con 5, lo suyo pues es dependiendo de que tipo de servidores tenemos pues bajar o subir este valor.
En una red cccam con servidores estables, quizas
lo recomendable seria lb_min_ecmcount = 2 para asi generar menos trafico de ecms.
Código:
[COLOR=#000000][FONT=monospace]lb_max_ecmcount =[/FONT][/COLOR]
Que significa este parametro, pues bien:
Imaginemos que tenemos puesto lb_mod=1 o sea
oscam ha realizado el proceso learning de aprendizaje de quien es el lector mas rapido, y ha sido elejido SERVIDOR A, por lo tanto OSCAM le envia las ecm para que nos la desencrypte y nos de la cw al SERVIDOR A, pero ahora
la pregunta seria EL SERVIDOR A es entonces el servidor mas rapido siempre,
pues NO es el mas rapido cuando se hizo el proceso de eleccion, pero eso no quiere decir que sea el mas rapido siempre, por lo tanto
en este parametro se elijen el numero de ecm para obtener la cw de visionado que se mandan al SERVIDOR A (al elejido), una vez superado este numero, pues se realiza nuevamente el proceso de learning (aprendizaje) para elejir nuevamente quien es el servidor mas rapido para mandarle a ese las ecm para obtener las cw, que puede ser de nuevo el SERVIDOR A, o puede ser otro diferente.