Sto scrivendo un test di riferimento per uno script di reindirizzamento.URL di query senza reindirizzamento in Go
I wisg il mio programma per interrogare determinati URL che reindirizza ad AppStore. Ma non desidero scaricare la pagina AppStore. Desidero solo registrare l'URL di reindirizzamento o l'errore.
Come si comunica a Vai all'URL della query senza seconda query di reindirizzamento?
UPDATE
Entrambe le risposte sono corrette, MA:
ho provato entrambe le soluzioni. Sto facendo un benchmarking. Eseguo 1 o più processi go con le routine 10 - 500 go. Esaminano l'URL in un ciclo. Anche il mio server è scritto in go. Segnala il numero di richieste ogni secondo.
- Prima soluzione:
http.DefaultTransport.RoundTrip
- funziona lentamente, genera errori. I primi 4 secondi funzionano correttamente. Effettuando 300-500 query, le prestazioni scendono a 80 query al secondo.
scende poi a 0-5 interrogazione al secondo e queryies sceneggiatura iniziare a ricevere gli errori come
dial tcp IP:80: A connection attempt failed because the connected
party did not properly respond after a period of time, or established
connection failed because connected host has failed to respond.
Credo che il collegamento riutilizzo che è chiuso.
- Seconda soluzione:
CheckRedirect field
opere con prestazioni costanti. Non sono sicuro se riutilizza le connessioni o apre una nuova connessione per ogni richiesta. Creoclient
per ogni richiesta in un ciclo. È come si comporterà in una vita reale (ogni richiesta è una nuova connessione). C'è un modo per garantire che le connessioni siano chiuse dopo ogni query e non riutilizzate?
Ecco perché segnerò la seconda soluzione in quanto tale che rispondo alla mia domanda. Ma per la mia ricerca è molto importante che ogni query fosse una nuova connessione. Come posso assicurarmi con la seconda soluzione?
Grazie. È necessario garantire che la connessione venga chiusa dopo ogni richiesta?Desidero simulare un traffico enorme dai social network che deve essere reindirizzato in 1-5 minuti in base all'intestazione dell'agente. Quindi ogni utente esegue una query solo una volta e deve essere reindirizzato. (ovvero la connessione deve essere chiusa) – Max
Non sono sicuro di voler creare un client personalizzato per uno strumento di test/benchmarking del carico. Suggerirei di usare qualcosa come Apache Bench (ab, http://httpd.apache.org/docs/2.2/programs/ab.html). – mna
Conosco ab. Ma vorrei sapere Go networking migliore. Un corso così banale, così tante domande. Grazie – Max