J'essaie de créer un outil pour tester le retard de ma connexion Internet, plus précisément les temps de chargement du site Web. J'ai pensé à utiliser le module python requêtes pour la partie chargement.
Le problème est qu'il n'a pas de fonctionnalité intégrée pour mesurer le temps nécessaire pour obtenir la réponse complète. Pour cela, j'ai pensé utiliser le module timeit
.
Ce dont je ne suis pas sûr, c'est que si je lance timeit comme ceci:
t = timeit.Timer("requests.get('http://www.google.com')", "import requests")
Je mesure vraiment le temps qu'il a fallu à la réponse pour arriver ou est-ce le temps qu'il faut pour que la demande soit construite, envoyée, reçue, etc.? Je suppose que je pourrais peut-être ignorer ce temps d'exécution car je teste des réseaux avec de très longs délais (~ 700 ms)?
Existe-t-il une meilleure façon de procéder par programmation?
Quant à votre question, ce devrait être le temps total pour
Vous pouvez également mesurer le temps de chargement d'une seule demande en utilisant urllib:
nf = urllib.urlopen(url)
start = time.time()
page = nf.read()
end = time.time()
nf.close()
# end - start gives you the page load time
Il existe une telle fonctionnalité dans la dernière version des demandes:
http://docs.python-requests.org/en/latest/api/?highlight=elapsed#requests.Response.elapsed
Par exemple:
requests.get("http://127.0.0.1").elapsed.total_seconds()