2009-01-12 8 views
5

Recientemente he creado un servidor de juegos por turnos que puede aceptar 10s de miles de conexiones simultáneas de clientes (larga historia corta - epoll en Linux). La comunicación se basa en un protocolo simple, personalizado y basado en línea. Este servidor permite a los clientes conectarse, buscar otros jugadores en partidos de juegos, jugar dichos juegos (enviar jugadas, mensajes de chat, etc.) y recibir notificaciones cuando el juego haya finalizado.¿Qué has usado para probar (funcional/cargar/estresar) tu servicio de red con su protocolo personalizado?

Lo que quiero hacer ahora es probar el servidor simulando las conexiones del cliente. Tengo la esperanza de admitir 10s de miles de conexiones simultáneas, por lo que esta prueba es muy importante para mí. ¿Qué usan ustedes para sus propias pruebas?

Algunas cosas que estoy investigando ahora son: pexpect (Python espera lib para las pruebas funcionales) y tsung para pruebas de carga.

Me gustaría poder probar desde mi computadora portátil ya que no tengo un clúster de máquinas cliente para conectarme. Tal vez necesite usar alias de IP o algo así para generar cientos de miles de sockets de salida (el límite es 65K por interfaz AFAIK).

De todos modos, me parece que necesito algo bastante personalizado, pero pensé en preguntar antes de seguir por ese camino.

Gracias!

Respuesta

1

Decidí que era mejor "hacer mi propio" para empezar.

1

He utilizado JMeter con muestras personalizadas y componentes de afirmación antes de realizar pruebas automáticas de regresión/carga para una aplicación bancaria con un protocolo personalizado (API basada en Java RMI).

No es exactamente ligero, sin embargo, terminará haciendo una gran cantidad de codificación adicional en los componentes de JMeter para admitir su protocolo personalizado. Supongo que tendrías que codificar tu propio cliente basado en el socket Java en este caso.

Pero le da mucha flexibilidad en la definición de la lógica para probar los componentes, para que pueda hacer lo que quiera allí dentro. También se adapta muy bien y le permite realizar muchas conexiones simultáneas en el sistema bajo prueba.

0

Estamos utilizando HP LoadRunner es el producto de prueba de carga más avanzado. (Pero también es caro). Puede simular miles de solicitudes al servidor y proporciona métricas sobre el tiempo de respuesta, etc.

+0

$$$ ¿Cómo es? Sus pruebas de pluma también se ven bien – ccook

Cuestiones relacionadas