2010-05-09 13 views
13
applicazione

mie rotaie è in esecuzione sul server di sottile che voglio benchmark utilizzando ApacheBenchcome specificare query string in url con panca apache

il comando sto usando è

ab -n 1 -c 1 http://localhost:3001/welcome/search?query="doctor"&rad=5 

Ma server di sottile non sta prendendo questo url.Its dando

!! Invalid Request 

uno può aiutarmi come dare l'url in modo che sottile accetta l'URL con query string

risposta

4

La stringa di query non è codificata correttamente. Rimuovi la doppia citazione. Se è necessario, è necessario inviare in questo modo,

ab -n 1 -c 1 http://localhost:3001/welcome/search?query=%22doctor%22&rad=5 
+0

Sì, avevi ragione. Ho rimosso il doppio preventivo così la richiesta non valida è stata risolta. Supponiamo che la mia domanda sia http: // localhost: 3001/welcome/search? Query =% 22medical% 20college% 22 & rad = 5, medical viene preso ma il college non è considerato, il valore 5 di rad non è preso da thin; ho anche provato a sostituire e con% 26 non ha funzionato. – kshama

+2

& interpredet è un parametro di shell. Puoi inserire l'intero URL tra virgolette e funzionerà: 'ab -n 1 -c 1" http: // localhost: 3001/welcome/search? Query =% 22doctor% 22 & rad = 5 "' –

+0

Apparentemente questo non lavorare con ApacheBench2. Sto cercando quanto segue: ab2 -n 8000 -c 100 "http: //xxx.xx.xxx.xx: 8000? Jsonp = callbackFunction & articeUrl = http% 3A% 2F% 2Fwww.cnn.com% 2F2010% 2FCRIME% 2F08 % 2F30% 2Fclemens.case% 2Findex.html% 2F " Errore" URL non valido "! –

26

riferimento apache wont risolvere "localhost" fuori l'url. cambiarlo in 0.0.0.0 o 127.0.0.1 e citare l'intero URL per evitare problemi con la e commerciale. ad esempio:

ab -n 1 -c 1 "http://0.0.0.0:3001/welcome/search?query=doctor&rad=5" 
3

Questo non stava lavorando per me, anche se questa linea ha funzionato:

ab -n 1 -c 1 -B 127.0.0.1 "http://localhost:3001/some/stuff" 

mente l'involucro!

+0

Fantastico! Molte grazie. – Alexander