Cómo probar el rendimiento de tu servidor SMPP

Ozeki SMS Gateway es un sistema de pasarela SMS muy rápido. Puede transferir hasta 1000 SMS/segundo en un servidor estándar. Este documento muestra cómo puedes probar el rendimiento SMPP de tu sistema de pasarela SMS.

Ozeki SMS Gateway incluye funcionalidad integrada para pruebas de rendimiento de SMS. Puedes usar esta funcionalidad para probar el rendimiento de tu servicio SMPP. Puedes probar el rendimiento del cliente SMPP o del servidor SMPP de forma independiente o puedes configurar un sistema de prueba con dos computadoras y probar el rendimiento general del sistema. En esta guía aprenderás sobre los componentes de prueba y presentamos un sistema que puedes configurar en tu propia red para probar el rendimiento de tus servicios.

Cómo probar el rendimiento de tu servidor SMPP (Instrucciones simples)

Para probar el rendimiento de tu servidor SMPP:

  1. Inicia Ozeki SMS Gateway
  2. Añade un nuevo usuario Tester
  3. Configura la conexión del usuario Tester
  4. Selecciona el icono Conectar en la barra de herramientas
  5. Instala la conexión Tester
  6. Ingresa el nombre de la conexión Tester
  7. Ve a la pestaña Test del usuario Tester
  8. Selecciona la prueba de rendimiento
  9. Verifica el rendimiento del servidor SMPP en los registros

Arquitectura del sistema de prueba de velocidad SMPP

El sistema de prueba que usamos para evaluar el rendimiento consta de dos computadoras: Computadora "A" y Computadora "B". La Computadora "A" tiene un cliente SMPP instalado y el componente de usuario tester está configurado para ayudarnos a generar mensajes de prueba. La Computadora "B" tiene un servidor SMPP configurado que acepta la conexión SMPP de la Computadora "A". La Computadora "B" acepta todos los mensajes SMS enviados por la Computadora "A" y los reenvía a una conexión llamada Tester. La conexión tester "traga" todos los mensajes. Esta arquitectura se presenta en la Figura 1.

Figura 1 - Configuración de prueba de velocidad

¿Cuánto cuesta la prueba de rendimiento?

Esta configuración de prueba no reenvía ningún mensaje a la red móvil, por lo que no tendrás que preocuparte por los costos de SMS. Todos los mensajes se quedan en casa. Los mensajes de prueba se crean en la Computadora "A", viajan a través de tu red de computadoras a la Computadora "B", donde son "tragados" por la "conexión Tester".

¿Qué tipo de hardware debo usar?

Puedes usar cualquier hardware capaz de ejecutar Windows o Linux y que cumpla con los requisitos del sistema de pasarela SMS. Ten en cuenta que el rendimiento de tu sistema depende en gran medida de la configuración del hardware. En las pruebas que hemos realizado, hemos usado la siguiente configuración:

Computadora A:
CPU: Intel(R) Core(TM) i7-9700K CPU@3.60 GHz
RAM: Corsair Vengeance 64 GB (2x32GB) 3200Mhz DDR4
HDD: Samsung 970 EVO Plus 1TB NMe M.2(2280) Solid State Drive (SSD)
Placa base: ASUS Prime Z390M-Plus LGA1151 Gen2
SO: Windows 10 Professional
Software: Ozeki 10 SMS Gateway v10.3.100


Computadora B:
CPU: Intel(R) Core(TM) i7-9700K CPU@3.60 GHz
RAM: Corsair Vengeance 64 GB (2x32GB) 3200Mhz DDR4
HDD: Samsung 970 EVO Plus 1TB NMe M.2(2280) Solid State Drive (SSD)
Placa base: ASUS Prime Z390M-Plus LGA1151 Gen2
SO: Windows 10 Professional
Software: Ozeki 10 SMS Gateway v10.3.100


Red: Enlace Ethernet de 1Gbps a través de un switch HP de escritorio

Esta configuración fue capaz de entregar 1000 mensajes SMS por segundo. Entregó 1 000 000 de mensajes SMS desde la computadora A a la computadora B en menos de 16 minutos.

Configurando la Computadora "B"

Cuando comiences a configurar el sistema, es una buena idea empezar con la configuración de la computadora "B". La razón es que esta computadora proporciona la funcionalidad de servidor SMPP, y es mejor crear primero la cuenta de usuario SMPP y configurar luego el cliente en la Computadora "A" para usar esta cuenta de usuario.

El primer video muestra los pasos para configurar la computadora "B". El video comienza desde la instalación predeterminada. Para instalar el sistema, sigue las instrucciones en la guía de instalación de Ozeki SMS Gateway. Después de instalar el sistema, debes configurar una conexión tester y un usuario SMPP para aceptar conexiones entrantes de clientes SMPP. Al instalar el usuario SMPP, Ozeki 10 SMS Gateway habilita y configura automáticamente el servidor SMPP integrado. Este servidor SMPP escuchará en el puerto 9550. Ten en cuenta que durante la configuración del usuario SMPP hemos proporcionado un nombre de usuario y una contraseña. Hemos usado smp1 como nombre de usuario y qwe123 como contraseña. Estas credenciales también se usarán en la Computadora "A" para configurar el cliente SMPP.

Video 1 - Cómo instalar el sistema (Tutorial en video)

Configurando la Computadora "A"

El video número dos muestra los pasos para configurar la computadora "A". Durante la configuración, primero creamos una conexión de cliente SMPP. Durante la configuración del cliente SMPP, proporcionamos la dirección IP de la Computadora "B", junto con el nombre de usuario y la contraseña SMPP. Ten en cuenta que usamos las mismas credenciales (smp1, qwe123) que configuramos en la Computadora "B" al crear la cuenta de usuario SMPP.

Después de crear la conexión del cliente SMPP, configuramos un usuario tester. El usuario tester es una funcionalidad de prueba integrada que puede usarse para enviar mensajes SMS de prueba a través del sistema. Puedes generar y enviar grandes volúmenes de mensajes con un solo clic. Cada mensaje tendrá su propio número de teléfono único y un texto de mensaje único para simular condiciones en tiempo real. Una vez configurado el usuario tester, estás listo para realizar la prueba.

Ten en cuenta que asumimos que el firewall en la Computadora "A" permitirá conexiones entrantes SMPP (TCP/IP) en el puerto 9550. Si aún no has configurado esto en tu firewall, puedes encontrar instrucciones detalladas para la configuración del firewall en la página cómo configurar mi firewall para el servidor SMPP.

Video 2 - Cómo configurar la computadora "A" (Tutorial en video)

Para probar el rendimiento de tu sistema, necesitas generar muchos mensajes SMS. Esto puede hacerse con la ayuda del usuario tester. Para instalar un usuario tester, haz clic en el botón Apps en la barra de herramientas y, como se muestra en la siguiente figura, desplázate hacia abajo hasta la sección Testing y haz clic en el botón Install de la conexión Tester user. (Figura 2)

seleccionar conexión de usuario tester
Figura 2 - Seleccionar conexión de usuario Tester

Antes de crear el usuario tester, aparece el formulario de configuración. Esta conexión no necesita ninguna configuración adicional, solo debes especificar un nombre para la conexión. (Figura 3) Una vez hecho esto, haz clic en OK para crear el usuario tester.

configurar conexión de usuario tester
Figura 3 - Configurar conexión de usuario Tester

La clave para crear el sistema de prueba es la instalación de la conexión de proveedor de servicios Tester. Esta conexión se usará como un proveedor de servicios de prueba, al que se conectará la conexión de usuario Tester. Para crear esta conexión, selecciona el menú Connect en la barra de herramientas y, en la sección Connections for testing. Para instalar esta conexión, debes seleccionarla de la lista de proveedores de servicios y hacer clic en el botón Install. (Figura 4)

seleccionar proveedor de servicios tester
Figura 4 - Seleccionar conexión de proveedor de servicios Tester

Después de hacer clic en Install, tendrás que proporcionar un nombre para esa conexión tester y puedes realizar más configuraciones en la pestaña avanzada, como establecer el nivel de registro o habilitar informes de entrega. (Figura 5)

configurar proveedor de servicios tester
Figura 5 - Configurar conexión de proveedor de servicios Tester

Realizando la prueba

Durante la prueba hemos enviado 1 000 000 de mensajes SMS desde la computadora "A" a la computadora "B". Este evento fue registrado en ambas computadoras. Ten en cuenta que durante la prueba se estaba grabando video en ambas computadoras, lo que tuvo algún efecto en el rendimiento. A continuación puedes ver los videos sin editar que muestran el rendimiento de mensajes en la computadora "A" y la computadora "B". Lo que es digno de mencionar es que verás etiquetas de medición de velocidad que publican la velocidad en tiempo real para diferentes componentes. Verás que la velocidad fue de aproximadamente 1500 mensajes SMS por segundo. Esto significa que se tarda unos 10-11 minutos en transferir los 1 000 000 de mensajes SMS desde la computadora "A" a la computadora "B" a través del enlace SMPP.

En este punto, has instalado ambas conexiones tester requeridas y tu sistema está listo para ser probado. Para ello, primero abre la conexión de usuario Tester en el menú principal de SMS Gateway. Aquí, en la pestaña Test de la conexión, puedes seleccionar la cantidad de mensajes que la prueba va a enviar. Esto te permite probar tu sistema con un solo mensaje o iniciar 100 000 mensajes a la vez. Así que, como puedes ver en la Figura 6, selecciona la prueba con 100 000 mensajes haciendo clic en el botón 'Send test (100,000)'.

seleccionar prueba de rendimiento
Figura 6 - Seleccionar prueba de rendimiento

Enviar 1 000 000 SMS: Vista de la Computadora "A"

En la computadora "A" los mensajes se enviaron desde el usuario tester al cliente SMPP a través de la tabla de enrutamiento, y luego a la red. Durante este proceso verás que la velocidad fue de alrededor de 1500 MPS. Lo importante es que esta velocidad se mantuvo durante toda la prueba. En el video verás que primero los 1 000 000 de mensajes se añadieron a la Bandeja de salida del sistema y se enviaron a medida que había capacidad disponible. Puedes notar que el contador de la Bandeja de salida se dividió en dos componentes. Verás un número negro y un número rojo. El número rojo junto a la etiqueta Outbox muestra que algunos mensajes se añadieron a una llamada "bandeja de salida de entrega futura". Esto es necesario para mantener el tamaño predeterminado de la bandeja de salida (marcado con el número negro) por debajo de 50000 para garantizar que el rendimiento se mantenga alto. La idea básica detrás de esta división es que trabajar con tamaños de datos más pequeños es más rápido. También verás que, a medida que los mensajes se movían de la bandeja de salida estándar, la bandeja de salida de entrega futura se vaciaba en lotes de 10000 mensajes.

Video 3 - Cómo enviar 1 000 000 SMS: Vista de la computadora "A" (Tutorial en video)

Enviar 1 000 000 SMS: Vista de la Computadora "B"

En la computadora "B" los mensajes llegaron a la cuenta de usuario SMPP. Después de esto, pasaron a la tabla de enrutamiento y llegaron a la conexión tester SMPP. Notarás que todos los componentes funcionaron a una velocidad sostenible de aproximadamente 1500 MPS. También mostramos el valor del odómetro al final de la prueba. Verás que este número se detiene en 1000021 mensajes. Este número coincide con el número que viste en los odómetros de la computadora "A". Esto significa que en realidad se enviaron 1 000 021 mensajes durante la prueba. Los 21 mensajes adicionales no son un error. Contienen metainformación sobre la prueba y ayudan a los desarrolladores de Ozeki a comprender mejor el flujo de mensajes. Puedes ignorarlos simplemente.

Video 4 - Cómo enviar 1 000 000 SMS: Vista de la computadora "B" (Tutorial en video)

¿Cómo puedo verificar los resultados de la prueba? (usar archivos de registro)

La prueba anterior se realizó sin el registro activado. El registro requiere E/S de disco lo que significa que la computadora tiene que hacer más cosas al mismo tiempo. Con el registro activado, el rendimiento de SMS disminuye un poco, pero para verificar nuestros resultados de prueba, para asegurarnos de que los 1 000 000 de mensajes SMS pasaron de la computadora "A" a la computadora "B", necesitamos activar el registro.

El mejor lugar para habilitar el registro es en el usuario SMPP de la computadora "B". En este punto podemos registrar las transacciones SMPP para todos los mensajes SMS entrantes. En el video a continuación, el registro de bajo nivel SMPP está activado para el usuario SMPP. Esto significa que cada PDU SMPP se registra en un archivo de texto durante la prueba. Después de activar el registro, hemos enviado un lote de 100 000 mensajes SMS al sistema. Notarás que la velocidad bajó a aproximadamente 1300 MPS con el registro activado. Si ves el video, puedes ver que con el registro activado puedes monitorear la comunicación SMPP en tiempo real en la GUI. Al final del video, verás que se escribieron unos 76 MB de datos de registro en el disco. 100 000 SMS resultaron en 76 MB de registro cuando habilitamos el registro SMPP. Al leer el registro en el bloc de notas puedes verificar que todos los 100 000 mensajes SMS fueron recibidos. Si no necesitas un registro detallado de cada transacción SMPP, recomendamos que desactives el registro de bajo nivel para ahorrar recursos.

Video 5 - Cómo verificar los resultados de la prueba (Tutorial en video)

Ejecutando una prueba de rendimiento con informes de entrega

La infraestructura SMS ofrece informes de entrega, que son confirmaciones enviadas al usuario cuando un SMS llega al dispositivo del destinatario. Los informes de entrega se transportan como mensajes SMS estándar en la red móvil. Si se solicita un informe de entrega, se devuelve un SMS de informe de entrega al remitente cuando el SMS llega al destinatario. Esto significa que cada SMS saliente genera un SMS entrante. Si requieres informes de entrega, necesitas el doble de capacidad en tu pasarela SMS.

Un aspecto positivo de los informes de entrega es que viajan en la dirección opuesta, por lo que la velocidad de la red no se reduce a la mitad cuando los informes de entrega están habilitados.

En la prueba final activamos la simulación de informes de entrega en la conexión tester de la computadora "B" y habilitamos las solicitudes de informes de entrega en el usuario tester de la computadora "A". Esta configuración nos permite probar el rendimiento de Ozeki 10 SMS Gateway con informes de entrega habilitados.

Configurando la Computadora "A" para informes de entrega

Para configurar la computadora "A" para solicitar informes de entrega para cada SMS de prueba, debes abrir la pestaña Advanced del formulario de configuración del usuario tester. En la pestaña avanzada, abre el cuadro de grupo Delivery reports y marca la casilla "Request delivery reports".

Video 6 - Cómo ejecutar una prueba de rendimiento con informes de entrega (Tutorial en video)

Configurando la Computadora "B" para informes de entrega

Para configurar la computadora "B" debes realizar dos tareas. Primero, debes habilitar la simulación de informes de entrega en la conexión tester. Puedes hacer esto abriendo el formulario de configuración de la conexión tester. En este formulario, selecciona la pestaña Advanced, abre el cuadro de grupo Delivery reports y haz clic en la casilla "Return delivery reports".

El siguiente paso es configurar el soporte de informes de entrega en los ajustes del usuario SMPP. Para ello, abre el formulario de configuración del usuario SMPP y asegúrate de que la política de limpieza esté configurada en "Cleanup on delivery reports" y la política de informes de entrega esté configurada en "Request if asked by message". El ajuste de limpieza significa que los mensajes SMS enviados por el cliente SMPP permanecerán en la carpeta de elementos enviados hasta que llegue un informe de entrega coincidente. Esto permite al sistema emparejar los informes de entrega entrantes con los mensajes enviados previamente. Esto es un requisito para notificar correctamente a la conexión del cliente SMPP con las referencias de mensajes correspondientes cuando se devuelve el informe de entrega a través del enlace SMPP.

Video 7 - Cómo configurar la computadora "B" para informes de entrega (Tutorial en video)

Realizando la prueba de rendimiento con informes de entrega de SMS

En la prueba de rendimiento que realizamos, habilitamos el registro de bajo nivel SMPP y el emparejamiento de informes de entrega. Verás que la velocidad inicialmente aumenta porque ahora usamos un transporte bidireccional. Y los mensajes pueden viajar en ambas direcciones a la velocidad que ofrecen las implementaciones del protocolo y la red. Después de un tiempo, esta velocidad baja a aproximadamente 1000 SMS por segundo en ambas direcciones. La velocidad fluctúa porque los informes de entrega no se generan de manera uniforme para simular condiciones reales. En la vida real, algunos informes de entrega llegan significativamente más tarde. (Por ejemplo, si un teléfono móvil se apaga y se enciende unos días después, el informe de entrega puede llegar varios días después de que se envió el mensaje original.)

También puedes notar que el registro de comunicación SMPP se actualiza en tiempo real en la GUI, lo que consume algo de capacidad. En un sistema real, es probable que tengas este registro desactivado.

Otra cosa digna de mención es el odómetro. Verás dos números aumentando en lugar de uno. Esto se debe a que ahora tenemos tanto mensajes SMS salientes como informes de entrega entrantes. También verás que el tamaño de la cola de entrada aumenta. Aquí es donde se almacenan los informes de entrega hasta que pueden ser transportados a través del enlace del cliente SMPP.

Al final de la prueba, verás que la velocidad disminuye. Esto se debe a que en esta fase no hay mensajes entrantes que procesar y el número de informes de entrega que deben devolverse es menor que la capacidad del sistema. Si hubiera más mensajes, la velocidad volvería a aumentar.

Video 8 - Cómo realizar la prueba de rendimiento con informes de entrega de SMS (Tutorial en video)

Conclusión

Podemos afirmar con seguridad que Ozeki 10 SMS Gateway es capaz de entregar mensajes SMS SMPP a una velocidad de 1000 mensajes SMS por segundo a través de la red. Este software es uno de los más rápidos (si no el más rápido) en su segmento de mercado. Te costará encontrar algo mejor.

More information