2012-01-12 18 views
20

Cualquiera conoce una herramienta de prueba de carga como "Apache Bench" para enviar URL variables. (mismo servidor, pero diferentes cadenas de consulta)Herramienta de prueba de carga Http para URL variables

Por ejemplo,

ab -text list.txt -n 1000 http://test.com/search? 

list.txt

name=abc&age=10 
name=pqr&age=20 
anything=anything&age=30 
...... 

Nota: En realidad no hay tal -text opción de banco de Apache

Respuesta

18

Pruebe asedio ya que ofrece lo que necesita. Puede crear archivos url que usen parámetros tipo bash para que no tenga que repetirse. También es compatible con autenticación básica, POST, url de inicio de sesión y mucho más.

siege -f urls.txt 

urls.txt:

URL=https://www.example.com/ 
$(URL)index.php?ab=1 
$(URL)site.php?different=12 

Puede encontrar más información aquí: http://www.joedog.org/siege-home/

+0

Tu ejemplo de urls.txt da como resultado Seg Fault en mi caso. Tuve que eliminar los vars y codificar la URL para que me funcionara. Esto realmente se parece más a un error de asedio. –

3

desde una línea de comando en Windows:

for /F %q in (list.txt) DO ab -n 1000 https://test.com/search?%q 

No conozco Apache Bench ni cómo recopila sus datos. Mi enfoque probablemente iniciará una nueva colección de datos para cada línea en list.txt, que es algo que quizás no desee. Tendrás que agregar los resultados de diferentes ejecuciones a mano.

(depurar:

for /F %q in (list.txt) DO echo ab -n 1000 https://test.com/search?%q 

cual es la salida de la consola de la declaración que se ejecutará)

+0

No funcionó para mí. una secuencia de comandos particular (php/servlet) recibe parámetros vacíos. – sura2k

+0

¿está ejecutando esto desde una línea de comando o desde un archivo de comando? En un archivo de comando, reemplace% q con %% q (dos veces). – rene

+0

Me olvidé de decirlo. ¿Qué pasa si es un https? – sura2k

1

Si usted está preparado para obtener el código fuente de Apache y el puerto del parche a http://chrismiles.livejournal.com/21720.html a la corriente versión de la fuente ab.c de Apache (se necesita algo de comodidad con C, pero no mucho), debe obtener el equivalente de su parámetro -text en ab (en realidad, tiene la capacidad de adjuntar a sus solicitudes, lo que es bueno para los POST de banco donde solo quiere variar un subconjunto de los parámetros).

Actualmente estoy probando esto, por lo que el jurado todavía está fuera ... pero los primeros indicadores son que este enfoque funciona bien.

+1

¿Alguien ha intentado usarlo y puede compartir alguna experiencia? Es un código viejo ahora ... –

7

Se puede usar esta ApacheBench siguiente proyecto para múltiples direcciones URL Apache Bench for Multiple URL

admitidas las peticiones de URL multi para ApacheBench. Puede establecer la lista de URL como '-L nombre de archivo' y también confirmar la respuesta de la longitud del documento para cada solicitudes.

-1

Apache Bench for Multiple URL no funciona para URL largas.

+7

¿Qué es una "URL larga"? –

Cuestiones relacionadas