12/06/2013

Seleccionando el hardware del servidor Asterisk

La selección de un servidor es a la vez simple y complicado: simple porque, en realidad, cualquier plataforma basada en x86 será suficiente, pero complicado porque el rendimiento fiable de su sistema dependerá del cuidado que se ponga en el diseño de la plataforma. Cuando este seleccionando su hardware, usted debe considerar cuidadosamente el diseño global del sistema y la funcionalidad que necesita que este soporte. Esto le ayudará a determinar los requisitos para CPU, motherboard y fuente de alimentación. Si simplemente está configurando su primera Sistema Asterisk con el propósito de aprender, puede ignorar la información de esta sección. Sin embargo, si usted está construyendo un sistema de misión crítica adecuada para la implementación, se trata de cuestiones que requieren una reflexión.







Problemas de rendimiento

Entre otras consideraciones, la hora de seleccionar el hardware para una instalación de Asterisk debe tener en cuenta una pregunta que es fundamental: Que tan poderoso debe ser mi sistema? Esta no es una pregunta fácil de responder, porque la manera en que el sistema se valla a utilizar va a jugar un papel importante en los recursos que este consuma. No hay tal cosa como una matriz de desempeño de ingeniería de Asterisk, por lo que tendrá que entender cómo Asterisk utiliza el sistema con el fin de tomar decisiones inteligentes acerca de que tipos de recursos serán necesarios. Usted tendrá que tener en cuenta varios factores, entre ellos:

El número máximo  de conexiones concurrente que se espera que el sistema  soporte. Cada conexión aumenta la carga de trabajo sobre el sistema.

El porcentaje de tráfico que requieren uso intensivo del procesador DSP de codecs comprimido (tales como G.729 y GSM).  El procesamiento de señal digital (DSP) que se realiza en el software Asterisk puede tener un impacto impresionante sobre número de llamadas simultáneas que serán soportados. Un sistema que podría felizmente manejar 50 llamadas simultáneas usando el códec G.711 se puede poner de rodillas por una solicitud de conferencia con 10 canales comprimidos usando el códec G.729.

Si se va a proporcionar conferencia y que nivel de actividad de conferencia se espera. Si el sistema será usado fuertemente? Las conferencias requieren que el sistema codifique (transcodificación)  cada stream de audio entrante en múltiples  stream de audio saliente s. Mesclar múltiples streams de audio en tiempo casi real puede poner un carga de trabajo significante al CPU.

Cancelación de Eco. La cancelación de eco puede necesaria  sobre cualquier llamada donde una interface de Red telefónica pública conmutada (PSTN) esté involucrada. Ya que la cancelación de eco es una función matemática, el sistema tendrá que realizarla, mayor será la carga sobre el CPU.

Lógica scripting en el Dialplan. Si Asterisk tiene que pasar el control de la llamada para programa externo, habrá una ligera pérdida de rendimiento. Si se usaran scripts externo, ellos deben ser diseñados con consideraciones críticas de rendimiento y eficiencia.

Como el impacto de rendimiento de esto factores, es difícil de saber con exactitud. El efecto de cada uno se conoce en términos generales, pero una calculadora de rendimiento preciso aún no ha sido definida con éxito. Esto es en parte debido a que el efecto de cada componente del sistema depende de numerosas variables, tales como la potencia del CPU, chipset del motherboard y sobre todo la calidad, la carga de tráfico total sobre el sistema, la optimización del Kernel de Linux, el tráfico de redes, cantidad y tipo de las interfaces PSTN, y el trafico PSTN, sin mencionar cualquier servicios de Asterisk que el sistema corra concurrentemente. Echemos un vistazo a los efectos de varios factores clave:

Codecs y Transcodificación

En poca palabra, un códec (es la forma corta de codificar/decodificar, o comprimir /descomprimir) es un conjunto de reglas matemáticas que define como una forma de onda analógica será digitalizada. La diferencia entre los diferentes codecs se debe en gran parte al nivel de compresión y calidad que ellos ofrecen. Generalmente hablando, a mayor compresión requerida, mayor será el trabajo que el DSP debe realizar para codificar y decodificar la señal. Un códec sin compresión, pone mucho menos tensión  sobre el CPU, pero requiere mucho más ancho de banda. La selección de un códec debe ser estrictamente balanceada entre el ancho de bando y el uso de procesador.

Unidad Central de Proceso (y unidad de punto flotante)

Un CPU está compuesto por varios componentes, uno de los cuales es la unidad de punto flotante (FPU). La velocidad del CPU, junto con la eficiencia de su FPU, juega un papel significante en la cantidad de conexiones concurrentes que un sistema puede efectivamente soportar.

Otros procesos corriendo concurrente mente sobre el sistema

Al similar a Unix, Linux está diseñado para ser capaz de realizar múltiples tareas en diferentes procesos. Un problema sucede cuando uno de estos procesos (tal como Asterisk) exige un nivel muy alto de la capacidad de respuesta del sistema. Por defecto, Linux distribuye los recursos equitativamente entre todas las aplicaciones que los soliciten. Si usted instala un sistema con muchas aplicaciones diferentes, cada una de estas aplicaciones se le permitirá un uso razonable del CPU. Pero como Asterisk requiere  frecuentemente acceso de alta prioridad para el CPU, este no se llevara bien con otras aplicaciones, y si Asterisk debe coexistir con otras aplicaciones, el sistema puede requerir optimización especial. Esto primeramente involucra la asignación de prioridades para las varias aplicaciones en el sistema y, durante la instalación, especial atención para cuales aplicaciones serán instaladas como servicios.

Optimización del Kernel

Un Kernel optimizado para el rendimiento de una aplicación específica es algo que muy poca distribuciones de Linux ofrecen por defecto, y esto requiere pensar un poco. Como mínimo, --cualquiera que sea la distribución  que usted selecciones—usted debe descargar u compilar sobre su plataforma una copia fresca del Kernel de Linux (disponible desde  http://www.kernel.org). También puede ser capaz de adquirir parches que  mejoran el rendimiento, pero esto es considerado hackeo a los kernels oficialmente soportado.

IRQ latencia

IRQ latencia es básicamente el retraso entre el momento que una tarjeta periférica (tal como una tarjeta de interface telefónica) solicita el  CPU para que pare lo que está haciendo y el momento cuando el CPU responde y está listo para manejar la tarea. Periféricos de Asterisk (especialmente las tarjetas DAHDI) han sido históricamente intolerante IRQ latencia, aunque han habidos mejoras considerables de DAHDI para ayudar a mejorar estos problemas. Esto no se debe a ningún problema con las tarjetas, sino que más bien es parte de la naturaleza de cómo un motor de TDM basada en software tiene que trabajar.

Versión del Kernel

Asterisk es oficialmente soportado con Linux versión 2.6. Casi la totalidad de Asterisk en realidad no se preocupa por la versión del kernel, pero  DAHDI si requiere la versión 2.6.

Distribución Linux

Las distribuciones de Linux son muchas y variadas. Asterisk debería funcionar en todas ellas. Elija la que usted se sienta más cómodo.


Save up to $80 on JAMBOX Music Accessories
Save up to $80 on JAMBOX Music Accessories Offer Expires 09/18/15

Coupon Code: None Needed

 


Shop E3 Gaming Deals on Microsoft Store Today
Shop E3 Gaming Deals on Microsoft Store Today Offer Expires 06/09/20

Coupon Code: None Needed