2008-09-30 32 views
13

¿Puede sugerir cómo crear un entorno de prueba para simular varios tipos de ancho de banda y tráfico en una aplicación web?ancho de banda y simulador de tráfico para aplicaciones web?

O tal vez un programa de código abierto que hace esto en contra de localhost?

Creo que este es un tema muy importante cuando programo aplicaciones web pero no es un tema habitual, la única forma en que puedo imaginar crear ese tipo de ambiente es usar algún tipo de proxy en una red local pero antes de empezar a buscar en la documentación de calamar me gustaría escuchar sus sugerencias.

Respuesta

7

si está usando Apache es posible que desee echar un vistazo a apache ab

1

escribí un script php un tiempo atrás que se usa CURL para ejecutar una secuencia de solicitudes de páginas contra mi servidor que representó un escenario de uso típico . Lo hice imprimir los tiempos que tardó el servidor para responder a cada una de las solicitudes. Luego tuve otra secuencia de comandos que generó varios de estos scripts de casos de prueba simultáneamente durante un período sostenido y correlacioné los resultados en un archivo que luego pude ver en una hoja de cálculo para ver el promedio de veces. De esta forma podría simular la cantidad de usuarios que accedían al sitio que quería. Las limitaciones son que debe ejecutar el script de prueba en un servidor diferente al servidor web y que el equipo del cliente puede estar demasiado cargado para proporcionar resultados significativos más allá de cierto punto. Desde entonces, dejé el trabajo; de lo contrario, pegaría los guiones aquí.

+0

If este es un proyecto de código abierto, ¿te importa compartirlo? – hello

0

Utilizamos Loadrunner para hacer anchos de banda y simulación de tráfico en nuestra aplicación. Loadrunner puede iniciar agentes en varias máquinas y puede simular una máquina que se ejecuta en módem de acceso telefónico v/s otra en DSL v/s otro en Internet por cable. También utilizamos Loadrunner para simular diversos tipos de condiciones de tráfico desde 10 usuarios ejecutados hasta 500 usuarios ejecutados. También podemos insertar tiempos de reflexión en el script y simular un usuario real que ejecuta la solicitud http. La mejor parte es que viene con un estudio de grabación donde se conecta con el explorador de Internet y puede grabar todo el escenario/Uso que puede ser tan simple como pasar de una página a un guión completo de 50-60 páginas o más.

0

me encontré con este pequeño programa en Java que funciona muy bien: sloppy

sin embargo, no es una solución profesional pero funciona para pruebas simples, supongo que utiliza corrientes de Java y los amortiguadores para reducir la velocidad de la conexión.

0

¿Has mirado a Tsung? Es una gran utilidad para ver si su sitio web se escalará en caso de ataque, quiero decir popularidad masiva. Lo usamos para nuestra interfaz web y nuestros sistemas internos también.

1

Si está ejecutando una caja Linux como su servidor, la caja Linux como su cliente, o tiene la capacidad de poner (quizás una VM) un enrutador Linux entre su cliente y servidor, puede usar NetEm.

NetEm es una disciplina Linux TC (control de tráfico) que puede retrasar (es decir, agregar latencia) paquetes que abandonan un host. Aunque es complicado establecer reglas inteligentes (p.agregan latencia a un poco de tráfico, no a otros), es fácil agregar un simple tipo de reglas de tipo "demorar todo lo que deja la interfaz por 50 ms" y se proporcionan algunas recetas.

Al pegar una máquina virtual Linux entre su cliente y su servidor, puede simular la latencia que desee. Y puedes activarlo y desactivarlo dinámicamente. Linux tiene otras disciplinas TC que se pueden combinar con NetEm para restringir el ancho de banda (pero el script para configurarlo puede ser algo complicado). NetEm también puede lanzar paquetes aleatoriamente.

lo uso y funciona una delicia :)

4

Hay dos enfoques para dar forma a tráfico de red para simular un enlace de red:

  1. Ejecutar algún tipo de software en el cliente o en el servidor que se encuentra en algún lugar de la pila de red y moldea el tráfico entre la aplicación y la interfaz de red
  2. Ejecutar el software de modelado de tráfico en una máquina dedicada con 2 interfaces de red a través del cual se encamina el tráfico de

(2) es una mejor solución si no se desea instalar el software en el cliente o servidor (y posiblemente impacte el rendimiento), pero requiere más manipulación del hardware.

Algunas otras características en las que es posible que desee pensar son los parámetros de configuración que se pueden simular. La mayoría retrasan y pierden paquetes, algunos también lo hacen con jitter y limitación de ancho de banda. Algunas soluciones pueden filtrar selectivamente el tráfico (por ejemplo, por número de puerto, TCP o UDP, etc.).

Aquí es una lista de algunos de los sistemas que he encontrado:

Open Source o freeware

DummyNet es un código abierto BSD Unix basa para dispositivos dedicados. No está claro si el software se mantiene activamente

NistNet es un sistema de código abierto basado en Linux para dispositivos dedicados. El software no se ha mantenido activamente durante varios años.

Comercial

Apposite Technoligies vender soluciones de hardware dedicado para la simulación de los enlaces WAN, con una interfaz gráfica de usuario basada en Web para la configuración de los ajustes y la recolección de mediciones de tráfico

East Coast DataCom simuladores de hardware de venta dedicados para la simulación de routers y módems

Itrinegy ofrecen soluciones de dispositivo dedicadas y soluciones para ejecutar en clientes o servidores.

Network FX ofrecen varios productos de dispositivos dedicados para simular degradaciones de red entre el cliente & servidor

NetLimiter es un sistema cliente que permite estrangulación de las aplicaciones individuales, e incluye un cortafuegos.

Shunra Software ofrecen una gama de productos, desde simulación WAN empresarial de gama alta y pruebas, hasta un simple emulador residente en cliente.

+0

Muy detallado y w ell respuesta escrita. ¡Gracias! –

1

Como han mencionado otras personas, Apache's ab (viene con Apache, por lo que probablemente ya lo tengas) es bueno.

Otras buenas opciones son:

personalmente me gusta ab y JMeter la mejor.

1

no he usado durante años (la falta de necesidad, no porque hubiera encontrado cualquier otra cosa), pero xat webspeed sería la primera cosa que apuntar hacia

0

No se olvide sobre Wanulator (http://www.wanulator.de/). El nombre Wanulator viene de simulador y "WAN". Esto describe bastante bien lo que hace el software: Simula diferentes condiciones de Internet como la demora o la pérdida de paquetes. Además, simula velocidades de acceso de usuario, por ejemplo, módem, ISDN o ADSL Wanulator está actualmente empaquetado como un CD de arranque de Linux basado en SLAX. Esto le dará una experiencia completa fuera de la caja. Usted puede convertir cualquier PC en un sistema de prueba en un abrir y cerrar de ojos, simplemente arrancando el CD Wanulator. El paquete ya incluye SW cliente como navegador web y sniffer de red (Wireshark). Sin embargo, si la PC tiene 2 interfaces de red, el sistema puede ejecutarse como un sistema intermedio entre su servidor y su cliente, como un interruptor, sin ningún tipo de molestia de configuración.

Cuestiones relacionadas