Ho fatto alcuni esperimenti usando Apache Bench per profilare i tempi di risposta del mio codice, e non genera abbastanza il giusto tipo di dati per me. Spero che le persone buone qui abbiano idee.Alternative a ApacheBench per profilare la mia velocità di codice
In particolare, ho bisogno di uno strumento che
- Does richieste HTTP sulla rete (non ha bisogno di fare qualcosa molto di fantasia)
- Records tempi di risposta più accuratamente possibile (almeno per un pochi millisecondi)
- Scrive i dati in tempo di risposta ad un file senza ulteriori elaborazioni (o fornisce al mio codice, se una libreria)
so di ab -e
, che stampa i dati su un file. Il problema è che questo stampa solo i dati quantili, che è utile, ma non quello di cui ho bisogno. L'opzione ab -g
funzionerebbe, tranne che non stampa i dati inferiori al secondo, il che significa che non ho la risoluzione di cui ho bisogno.
Ho scritto alcune righe di Python per farlo, ma l'httplib è orribilmente inefficiente e quindi i risultati erano inutili. In generale, ho bisogno di una precisione migliore di quella fornita da Python puro. Se qualcuno ha suggerimenti per una libreria utilizzabile da Python, sono tutto orecchie.
Ho bisogno di qualcosa che sia ad alte prestazioni, ripetibile e affidabile.
So che metà delle mie risposte saranno sulla falsariga di "la latenza di Internet rende quel tipo di misurazioni dettagliate prive di significato". Nel mio particolare caso d'uso, questo non è vero. Ho bisogno di dettagli di temporizzazione ad alta risoluzione. Qualcosa che ha effettivamente utilizzato il mio hardware HPET sarebbe fantastico.
Lanciare una taglia qui a causa del basso numero di risposte e visualizzazioni.
Ho finito per creare uno strumento personalizzato per eseguire le mie misurazioni utilizzando una combinazione di Python e libcurl. libcurl fornisce buone misurazioni della tempistica di risoluzione per ciascuna parte del processo di richiesta/risposta http, permettendomi di ottenere le misure precise di cui avevo bisogno. –