plugin plantillas personalizar formularios formulario form español enviar ejemplos ejemplo customizer columnas color cf7 cambiar boton website webforms file-upload bandwidth

website - plantillas - ¿Cómo puedo poner a prueba una carga de archivo de formulario web?



personalizar contact form 7 plugin (3)

Necesito probar un formulario web que tome una carga de archivo. El tamaño del archivo en cada carga será de aproximadamente 10 MB. Quiero probar si el servidor puede manejar más de 100 cargas simultáneas y aún así seguir siendo receptivo para el resto del sitio.

Los envíos de formularios repetidos desde nuestra oficina estarán limitados por nuestra línea DSL local. El servidor está fuera del sitio con mayor ancho de banda.

Las respuestas basadas en la experiencia serían geniales, pero cualquier sugerencia es bienvenida.


Automatice Selenium RC usando su idioma favorito. Comience 100 hilos de selenio, cada uno escribiendo una ruta del archivo en la entrada y haciendo clic en enviar.

Podrías generar 100 archivos nombrados secuencialmente para hacer un bucle sobre ellos fácilmente, o simplemente usar el mismo archivo una y otra vez


Quizás te guíe hacia el uso de cURL y envíe solo cosas al azar (como leer 10MB de /dev/urandom y codificarlo en base32), a través de una solicitud POST y fabricar manualmente el cuerpo para que sea una carga de archivo (no es cohete) ciencia).

Horquilla esa secuencia de comandos 100 veces, tal vez en unos pocos servidores. Solo asegúrese de que los administradores del sistema no creen que está haciendo un DDoS, o algo :)

Lamentablemente, esta respuesta sigue siendo un poco vaga, pero es de esperar que te ayude guiándote por el camino correcto.

Continúa según el comentario de Liam:
Si el servidor que recibe las cargas no está en la misma LAN que los clientes que se conectan a ella, sería mejor obtener los nodos más remotos posible para las pruebas de tensión, aunque solo sea para simular un comportamiento lo más auténtico posible. Pero si no tiene acceso a computadoras fuera de la LAN local, la LAN local siempre es mejor que nada.

Las pruebas de estrés desde el mismo hardware no serían una buena idea, ya que harían doble carga en el servidor: descifrar los datos aleatorios, empaquetarlos, enviarlos a través de la pila TCP / IP (aunque probablemente no a través de Ethernet) y solo entonces el servidor puede hacer su magia. Si la parte emisora ​​se subcontrata, obtiene el rendimiento doble (tomado con un tamaño de grano arbitrario) por parte del receptor.


Utilice la herramienta de línea de comandos ab (ApacheBench) que se incluye con Apache (Acabo de descubrir esta pequeña herramienta). A diferencia de cURL o wget, ApacheBench fue diseñado para realizar pruebas de estrés en servidores web (¡cualquier tipo de servidor web!). Genera muchas estadísticas también. El siguiente comando enviará una solicitud HTTP POST que incluye el archivo test.jpg a http://localhost/ 100 veces, con hasta 4 solicitudes simultáneas.

ab -n 100 -c 4 -p test.jpg http://localhost/

Produce resultados como este:

Server Software: Server Hostname: localhost Server Port: 80 Document Path: / Document Length: 0 bytes Concurrency Level: 4 Time taken for tests: 0.78125 seconds Complete requests: 100 Failed requests: 0 Write errors: 0 Non-2xx responses: 100 Total transferred: 2600 bytes HTML transferred: 0 bytes Requests per second: 1280.00 [#/sec] (mean) Time per request: 3.125 [ms] (mean) Time per request: 0.781 [ms] (mean, across all concurrent requests) Transfer rate: 25.60 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 0 0 2.6 0 15 Processing: 0 2 5.5 0 15 Waiting: 0 1 4.8 0 15 Total: 0 2 6.0 0 15 Percentage of the requests served within a certain time (ms) 50% 0 66% 0 75% 0 80% 0 90% 15 95% 15 98% 15 99% 15 100% 15 (longest request)