2012-01-12 11 views
20

Qualcuno sa di uno strumento di test di carico come "Apache Bench" per inviare URL variabili. (stesso server, ma le stringhe diverso Query)Http load test tool per URL variabili

Per esempio,

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: In realtà non esiste alcuna opzione come -text in panchina apache

risposta

18

Prova all'assedio perché offre ciò di cui hai bisogno. È possibile creare file url che utilizzano parametri di bash like in modo da non dover ripetere. Supporta anche l'autenticazione di base, POST, un URL di accesso e molto altro.

siege -f urls.txt 

urls.txt:

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

È possibile trovare maggiori qui: http://www.joedog.org/siege-home/

+0

L'esempio urls.txt restituisce Seg Fault nel mio caso. Ho dovuto rimuovere i vars e il codice hard l'URL in modo che potesse funzionare per me. Questo in realtà sembra più un bug di assedio. –

3

da una riga di comando in windows:

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

Non conosco Apache Bench né come raccoglie i suoi dati. Il mio approccio probabilmente inizierà una nuova raccolta di dati per ogni riga in list.txt che è qualcosa che potresti non volere. Dovrai aggregare manualmente i risultati di diverse esecuzioni.

(per eseguire il debug:

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

che sarà in uscita sulla console l'affermazione che eseguirà)

+0

Non ha funzionato per me. uno script particolare (php/servlet) riceve parametri vu. – sura2k

+0

stai eseguendo questo da una linea di comando o da un file di comando? In un file di comandi, sostituire% q con %% q (due volte). – rene

+0

Ho dimenticato di dirlo. Che dire se si tratta di un https? – sura2k

1

Se siete preparati per ottenere il codice sorgente di Apache e la porta la patch http://chrismiles.livejournal.com/21720.html alla corrente versione della sorgente ab.c di Apache (un po 'di conforto con C necessario, ma non molto), dovresti ottenere l'equivalente del tuo parametro -text in ab (in realtà hai la possibilità di accodare alle tue richieste che è buono per i POST di benching in cui solo tu voglio variare un sottoinsieme dei parametri).

Attualmente sto provando questo fuori da solo, quindi la giuria è ancora fuori ... ma i primi indicatori sono che questo approccio funziona bene.

+1

Qualcuno ha provato a usarlo e può condividere qualsiasi esperienza? È un vecchio codice ora ... –

7

È possibile utilizzare questa seguente ApacheBench progetto più URL Apache Bench for Multiple URL

richieste URL Multi supportati per ApacheBench. È possibile impostare l'elenco degli URL come "-L nome file" e confermare anche la risposta della lunghezza del documento per ciascuna richiesta .

-1

Apache Bench per URL multipli non funziona per URL lunghi.

+7

Che cos'è un "URL lungo"? –