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!
$$$ ¿Cómo es? Sus pruebas de pluma también se ven bien – ccook