Вы находитесь на странице: 1из 15

Lab 12

Desempeo y Dimensionamiento
Elastix ECE Training

Desempeo y Dimensionamiento

Laboratorio 12.1

Descripcin: Utilizar el programa Sipp para generar trfico llamadas.

Objetivo: Aplicar las configuraciones vistas en clase en un ejemplo real y demostrar el funcionamiento de
Sipp, simulando el desempeo de nuestro Elastix en un ambiente de produccin.

Tiempo Mximo: 30 minutos.

Instrucciones:

Ingresamos a la consola de Elastix como usuario root

Instalamos el programa sipp ejecutando el siguiente comando:

yum install sipp

Una vez que hemos instalado sipp, definimos un peer sip. Aadimos en el archivo
/etc/asterisk/sip_custom.conf la siguiente informacin:

[sipp_test]
type=friend
context=sipp_context
host=dynamic
port=6000
user=sipp
canreinvite=no
disallow=all
allow=ulaw

Para editar el archivo digite: vim /etc/asterisk/sip_custom.conf

Grabar y Salir (Esc :wq)

Creamos una extensin adicionando un contexto para hacer nuestra prueba

Editar el archivo /etc/asterisk/extensions_custom.conf.


vim extensions_custom.conf
Agregar las siguientes lneas al archivo

Programa de Entrenamiento Elastix 2
PaloSanto Solutions 2015 Todos los derechos reservados

[from-internal-custom]
include => sipp_context

[sipp_context]
exten => 2222,1,Answer
exten => 2222,n,MusicOnHold(default)
exten => 2222,n,Hangup

Grabar y Salir (Esc :wq)

Como podemos observar el contexto funciona cuando se marca a la extensin 2222, esta
contestar tocar un Music on Hold y colgar. Sipp se encargar de hacer tantas llamadas por
segundo se requieran a este contexto.

Recargar asterisk: [root@elastix asterisk]# asterisk -rx reload

Antes de iniciar las pruebas de estrs con sipp, activaremos las llamadas SIP annimas en Elastix.
En la interfaz web de Elastix ir a Security Advanced Settings.

Una vez ah encenderemos Activar llamadas SIP annimas.

No es necesario hacer clic en Guardar.

De la misma manera vamos a PBX Configuracin PBX Configuracin General y activamos la


opcin: Allow Anonymous Inbound SIP Calls?


Programa de Entrenamiento Elastix 3
PaloSanto Solutions 2015 Todos los derechos reservados

Seleccionamos la opcin Yes y hacemos clic en Submit Changes.

Despus aplicamos los cambios.

Ejecutando Sipp

Una vez que hemos completado la configuracin inicial estamos listos para ejecutar sipp y generar
llamadas a nuestro servidor.

Ejecutamos el siguiente comando en donde el ltimo parmetro indica el nmero de llamadas a


generar:

sipp -sn uac -d 2000000 -s 2222 -i 127.0.0.1 -p 6000 ip.elastix r 10 -l


10

En este comando se debe incluir la IP del servidor Elastix (ip.elastix) cuando la generacin de
llamadas se realiza desde un servidor remoto. Si la prueba es en el mismo servidor debemos
colocar: 127.0.0.1. Para este laboratorio la prueba la realizaremos en el mismo servidor.

El listado siguiente corresponde a una descripcin de los parmetros del comando anterior

d: duracin de llamada (en milisegundos)


s: extensin a marcar
i: IP que ejecuta la orden de simulacin de llamadas
p: puerto e IP del servidor Elastix donde se quieren hacer las pruebas de stress
r: rate, llamadas por segundo
l: limite mximo de llamadas concurrentes
users: usuarios (llamadas) concurrentes (en este ejemplo no usamos esta variacin)

Como podemos observar el comando tiene configuradas 10 llamadas por segundo con un lmite
mximo de 10 llamadas.

Es recomendable realizar inicialmente las pruebas con un valor bajo de llamadas por segundo, ya
que no conocemos la capacidad de nuestro servidor. Realizaremos una prueba con un lmite
mximo de 10 llamadas concurrentes y luego una con un lmite mximo de 80 llamadas
concurrentes; en ambos casos con un rate de 10 llamadas por segundo.

Para esta prueba es necesario que iniciemos sesin en la consola de Elastix, desde tres consolas
(el programa putty permite esta funcionalidad). En todas las ventanas ingresaremos como usuario
root.

Programa de Entrenamiento Elastix 4
PaloSanto Solutions 2015 Todos los derechos reservados

En cada consola ejecutaremos un comando:


Consola 1: comando sipp
Consola 2: comando top
Consola 3: Asterisk CLI: asterisk r

Es recomendable que iniciemos top y el CLI antes de ejecutar el comando sipp.

Una vez que tenemos todo listo, ejecutemos sipp:

sipp -sn uac -d 2000000 -s 2222 -i 127.0.0.1 -p 6000 127.0.0.1 r 10 -l 10

Veremos la siguiente salida:

En la consola de la derecha se est ejecutando sipp. En la consola superior izquierda el comando


Top y en la consola inferior izquierda Asterisk CLI.

La aplicacin Sipp es una herramienta que genera llamadas sipp simuladas en o hacia un servidor.
Cuando se ejecuta, genera un nmero de llamadas por segundo hasta alcanzar el mximo de
llamadas concurrentes.

Una vez alcanzadas, sipp contina tomando datos estadsticos. La ejecucin de sipp sin embargo
consume un alto procesamiento al servidor, como vemos en el siguiente imagen:

Paramos la ejecucin de sipp con ctrl-c, y obtenemos un reporte:


Programa de Entrenamiento Elastix 5
PaloSanto Solutions 2015 Todos los derechos reservados

En realidad ya no necesitamos que sipp siga ejecutndose, ya que las llamadas se generaron y
tienen una duracin para que podamos observar los resultados.

Una vez que hemos parado sipp, observaremos que procesos estn consumiendo mas
procesamiento.

Como podemos observar, en la imagen anterior, Asterisk consume un aproximado de 12.9% del
CPU, con 10 llamadas concurrentes. Estos datos pueden variar de acuerdo a la variacin de su
servidor.

Mientras leemos este tutorial, las llamadas continan en curso, por lo cual ejecutaremos dos
comandos en las consolas de la izquierda para observar nuevos datos:
Consola superior: top -p $(pidof asterisk)
Consola inferior: watch -n1 "rasterisk -x 'core show channels' | tail -n4"

En la consola superior hemos discriminado los valores para observar nicamente el valor porcentual
de Asterisk (que es lo que nos interesa en este laboratorio).

En la consola inferior podemos ver el nmero de llamadas y canales en curso mientras revisamos
nuestros datos.

Programa de Entrenamiento Elastix 6
PaloSanto Solutions 2015 Todos los derechos reservados

Como esperbamos las llamadas concurrentes son 10.

En el laboratorio 16.2 realizaremos una prueba para tomar muchos valores de uso de
procesamiento de tal manera que podamos hacer un promedio para ese nmero de llamadas
concurrentes.

Aunque ya paramos Sipp, las llamadas continan en curso. Para pararlas ejecute el siguiente
comando desde cualquiera de las tres consolas:

service asterisk restart

Al ejecutar este comando observaremos en las consolas de la izquierda, que Asterisk no est
generando procesamiento y no hay llamadas activas al momento.

Ahora realizaremos la prueba con 40 llamadas concurrentes. Ejecute:

Consola derecha:
sipp -sn uac -d 2000000 -s 2222 -i 127.0.0.1 -p 6000 127.0.0.1 -users 40

Consola Superior Izquierda:


top -p $(pidof asterisk)

Consola Inferior Izquierda, controlaremos el nmero de canales:


watch -n1 "rasterisk -x 'core show channels' | tail -n4"

Recuerde ejecutar los comandos en las consolas de la izquierda primero y sipp despus.

Consumo % de Asterisk

Canales y llamadas activas


Programa de Entrenamiento Elastix 7
PaloSanto Solutions 2015 Todos los derechos reservados

Como era de esperar, el consumo de recursos, por parte de Asterisk, fue mayor con 40 llamadas
concurrentes.
Es importante indicar que los valores para cada servidor varan. Es recomendable hacer la prueba
sin tarjetas de telefona instaladas, con Openfire y el mdulo de call center desactivados. De esa
manera no tenemos procesos que interfieran en nuestra revisin.


Programa de Entrenamiento Elastix 8
PaloSanto Solutions 2015 Todos los derechos reservados

Laboratorio 12.2 (Prctica recomendada)

Descripcin: Utilizar un script para registrar los datos generados en las pruebas de estrs, con diferentes
valores de llamadas simultneas.

Objetivo: Usar una herramienta que nos permita determinar valores estadsticos para calcular datos de
procesamiento vs nmero de llamadas concurrentes.

Tiempo Mximo: 20 minutos.

Instrucciones:

En el laboratorio anterior pudimos observar que en una prueba de estrs vemos los valores
momentneos de % de uso de CPU. Sin embargo estos valores difieren durante la prueba y no son
necesariamente constantes.

Una forma til para obtener un valor promedio, es el de registrar un nmero X de valores en un
tiempo determinado.

Para este efecto crearemos un Script que registre estos valores en un archivo de texto.

Creamos el archivo:

vim /opt/getUSAGE

Al ingresar al editor de texto escribimos el siguiente script:

ps -o rss,vsize,%mem,%cpu -C asterisk > USAGE.txt


sleep 2
for (( i=1; i<15; i++ ))
do
ps -o rss= -o vsize= -o %mem= -o %cpu= -C asterisk >> USAGE.txt
sleep 2
done

Grabar y Salir (Esc :wq)

Como pudimos observar el archivo fue creado en el directorio /opt. El script est escrito para que al
ejecutarlo se genere un archivo de texto con nombre USAGE.txt, que tome 15 muestras cada dos
segundos.
Ahora cambiaremos los permisos del archivo getUSAGE con el siguiente comando:


Programa de Entrenamiento Elastix 9
PaloSanto Solutions 2015 Todos los derechos reservados

chmod +x /opt/getUSAGE

Una vez que creamos el script y hemos cambiado sus permisos, podemos iniciar la toma de las
muestras.

Toma de datos

Realizaremos una prueba de estrs con 10 llamadas concurrentes usando sipp y registraremos la
informacin con el script getUSAGE.

Es importante indicar los siguiente:

Correremos el script (getUSAGE) despus de 2-3 minutos de haber iniciado las llamadas con sipp;
esto permitir al sistema estabilizarse con esas llamadas.

Para correr el script (getUSAGE) es necesario estar ubicados en el directorio /opt

El script se ejecuta con el siguiente comando: ./getUSAGE

Una vez que iniciemos sipp esperaremos hasta que se hayan generado el total de llamadas
concurrentes y saldremos con ctrl-c. Hacemos esto ya que le generacin de estadsticas de sipp
carga mucho procesamiento.

Al igual que hiciramos en el laboratorio anterior, utilizaremos tres consolas para realizar la prueba.

Consola derecha:
sipp -sn uac -d 2000000 -s 2222 -i 127.0.0.1 -p 6000 127.0.0.1 -users 10

Consola superior Izquierda, controlaremos el nmero de canales:


watch -n1 "rasterisk -x 'core show channels' | tail -n4"

Consola inferior Izquierda:


./getUSAGE

Canales y llamadas activas

Al ejecutar ./getUSAGE el script demorar alrededor de 30 segundos mientras toma los datos de
procesamiento y memoria.

Una vez que el script haya culminado podemos ingresar al archivo txt generado de la siguiente
manera:


Programa de Entrenamiento Elastix 10
PaloSanto Solutions 2015 Todos los derechos reservados

Al ingresar al archivo podemos observar los siguientes valores:

Como podemos observar, tenemos varios valores de procesamiento para esta prueba (10 llamadas
concurrentes). Con esto podemos sacar un promedio de procesamiento % con 10 llamadas
concurrentes.

Es ideal hacer esta misma prueba con valores de 20, 30, 40, 50, 70, 80, 90 y 100 llamadas
concurrentes (a un rate de 10 llamadas por segundo). De esta manera podemos establecer una
curva que nos ayude a pronosticar el rendimiento de nuestro servidor.

Es importante indicar que el script ./getUSAGE sobre escribe el archivo USAGE.txt, por lo cual si lo
queremos tener guardado como referencia debemos hacer un backup con otro nombre e.g. USAGE10.txt


Programa de Entrenamiento Elastix 11
PaloSanto Solutions 2015 Todos los derechos reservados

Laboratorio 12.3

Descripcin: Calcular el parmetro R del modelo E usando la frmula simplificado y la tabla de prdida de
paquete para la red del laboratorio y obtener el respectivo valor de la escala MOS. Usar el codec g.711.

Objetivo: Entender y dominar el uso de las frmulas que nos permiten determinar la calidad de voz de una
manera objetiva.

Tiempos Mximo: 15 minutos.

Instrucciones:

Determinar el retardo de un punto a punto especfico de la red usando el comando PING como se
muestra en el grfico. Ingrese a la consola como usuario root, escriba el siguiente comando:

ping IP_Address c10 (use la IP de cualquier estudiante):

El retardo es el mayor tiempo obtenido en el proceso; en este caso 51.2 ms

Calcular el valor de Ie de acuerdo a la tabla. El porcentaje paquetes perdidos igual al 0%.

Ie = 0
Packet
G.711 G.723.1 G.729A
Loss %
0 0 11 15
1 3 15 18
2 5 18 20
4 7 20 25
8 9 22 28
16 20 24 30
Calcular el valor de Id reemplazando el valor de retardo, en este caso 51.2 ms.

Id = 0.024 d + 0.11 (d 177.3) H(d 177.3)


Programa de Entrenamiento Elastix 12
PaloSanto Solutions 2015 Todos los derechos reservados

Valores para la funcin Heavyside


H(x) = 0 para x < 0 y 1 para x 0

Reemplace el valor de retardo, en este caso 51.2 ms

Id = 0.024 51.2 + 0.11 (51.2 177.3) H(51.2 177.3)


Id = 1.2288 + 0.11 (51.2 177.3) 0
Id = 1.2288

Calcular el valor de R reemplazando los valores de Ie y Id obtenidos.

R = 94.2 - Id - Ie

R = 94.2 1.2288 - 0
R = 92.9712

Traducir a la escala MOS reemplazando el valor obtenido de R.

Frmula Rango R
MOS =1 R<0
MOS = 1 + 0.035 * R + 7 * R*(R 60)*(100 R)*10-6 0 < R < 100
MOS = 4.5 R >100

MOS = 1 + 0.035 92.9712 + 7 92.9712 (92.9712 60) (100 92.9712) 10-6


MOS = 1 + 3.2539 + 0.17794
MOS = 4.4318

MOS
Calidad Esfuerzo
rating
5 Excelente No hace falta esfuerzo alguno
Es necesario prestar atencin pero no es necesario un
4 Buena
esfuerzo apreciable
3 Aceptable Esfuerzo moderado
2 Pobre Gran esfuerzo
1 Buena No es posible entender la conversacin

Este resultado indica que la calidad est muy cerca a la excelencia.




Programa de Entrenamiento Elastix 13
PaloSanto Solutions 2015 Todos los derechos reservados

El contenido de este libro est sujeto a mejoramiento. Si usted encuentra errores, por favor enve
un email a training@elastix.com y recibir una actualizacin gratis en la siguiente edicin.


Programa de Entrenamiento Elastix 14
PaloSanto Solutions 2015 Todos los derechos reservados

Вам также может понравиться