Actualmente estoy trabajando en algunos códigos pesados de Ajax y me pregunto cómo se escalará mi servidor a medida que más y más usuarios (afortunadamente) comiencen a usar mi aplicación web. Por el momento, solo estaba en mi servidor de prueba interno y me preguntaba cómo iba a simular unos cientos o miles de usuarios para poder ver cómo maneja una carga más pesada. Está escrito en PHP/MySQL y realmente no quería encontrar cientos de computadoras para configurar y probar manualmente :) Gracias de antemano, cualquier consejo o dirección es muy apreciada.Prueba de cómo escalar el código
Respuesta
Apache Benchmark. Se envía con el servidor web Apache. Funciona un poco como esto: Por 100 solicitudes utilizando 10 hilos simultáneos, utilice este comando:
ab -n 100 -c 10 http://localhost/
Vuelva a colocar la url localhost con una URL que su código AJAX se llama. El resultado le dará un buen informe sobre cómo se procesaron las solicitudes. Algunos de los números interesantes son:
Complete requests
Failed requests
Requests per second
Lo que he hecho, lo que dará una idea muy aproximada, es escribir una aplicación que puede crear decenas o cientos de hilos, y golpeó al azar las docenas de servidores de veces cada una con usuarios únicos
Por lo tanto, tenía 100 usuarios de prueba únicos, y crearía 100 subprocesos y al azar seguiría haciendo algunas operaciones a intervalos aleatorios.
Esto le indicará si tiene algún problema de escala.
Sin embargo, al final, tendrá un problema, ya que solo tiene una conexión de red, por lo que acelerará un poco la velocidad, por lo que no es perfecta.
También puede usar junitperf para ayudar con esto, ya que puede ver si cada prueba tarda demasiado en responder.
La mejor opción es tomar estas pruebas, ponerlas en tantas máquinas como sea posible y ejecutarlas al mismo tiempo, tener 10 computadoras cada una simulando 10 o 100 personas es más efectivo que tener una computadora ser cada una de estas personas
No querrá que el servidor web y las pruebas estén en la misma computadora, de lo contrario se estropearán seriamente los resultados ya que el servidor web obtendrá solo algunos de los ciclos de la CPU.
Dado este problema, registraría una sesión de usuario. Luego, escriba el código del cliente que reproduce ese conjunto de llamadas.
Otra opción sería usar VMware. (tenga en cuenta que soy un empleado) Simplemente cree un montón de máquinas virtuales y conéctese a su sitio con cada una de ellas. Todavía significa mucho trabajo manual, pero al menos no necesita tantas máquinas para realizar las pruebas.
recomiendo LoadUI http://www.loadui.org/
- 1. ¿Cómo se prueba el código Java EE?
- 2. ¿Cómo escalar el programador de Quartz?
- 3. Cómo escalar el servidor gevent-socketio?
- 4. Crear datos de prueba en el código
- 5. Cómo separar el código de producción y prueba en Haskell
- 6. ¿Cómo se prueba el tiempo de ejecución del código VBA?
- 7. ¿Cómo escalar con ESPer?
- 8. Cómo refactorizar el código de prueba junto con el código de producción?
- 9. Cómo escalar glDrawPixels?
- 10. Prueba de unidad código matemático
- 11. JSP ¿Cómo escalar una imagen?
- 12. código de prueba SQLite a código de producción proporción
- 13. Cómo escalar píxeles en pantalla?
- 14. Cómo escalar ejes en mplot3d
- 15. Prueba de unidad de dependencia de código
- 16. . Prueba de unidad .NET - Mejores prácticas para ocultar costuras de prueba en el código de versión
- 17. Cómo simular el contexto mientras el código de prueba de la unidad utiliza el método VirtualPathUtility.GetAbsolute
- 18. ¿Cómo obtener el resultado escalar de una declaración preparada?
- 19. ¿Cómo puedo escalar el fondo de un botón?
- 20. Unidad de prueba de código privado
- 21. Herramienta de Java para modificar el código de prueba
- 22. Separe las rutas de clase para el código de prueba y el código principal
- 23. Contratos de código de prueba unitaria
- 24. Cómo resolver && operandos a escalar lógico
- 25. Ejemplos de práctica Prueba del código C#
- 26. Python: unidad de prueba basada en el código del socket?
- 27. Cobertura del código R para el paquete de prueba
- 28. Cómo escalar buildbot en una compañía
- 29. Cómo obtener cobertura de código cuando se prueba Silverlight
- 30. ¿Cómo puedo rotar el emulador de Android desde el código de prueba?
En la misma línea que 'ab', hay Tsung - http://tsung.erlang-projects.org/ He estado usando y es una herramienta fantástica. – inerte