Comment mesurer le temps de réponse du serveur pour Python demandes de POST-demande?
Je créer requests
APRÈS les demandes de ce genre, où j'ai spécifier le délai d'attente de seuil:
response = requests.post(url, data=post_fields, timeout=timeout)
Toutefois, pour déterminer une "bonne" valeur de seuil, je voudrais comparer les temps de réponse du serveur à l'avance.
Comment puis-je calculer le minimum et le maximum des temps de réponse pour le serveur?
découvrez
contextmanager
vous pouvez l'enrouler autour d'une simple fonction qui prend le temps écoulé au lieu d'avoir à écrire une toute nouvelle décorateurOriginalL'auteur Shuzheng | 2017-04-06
Vous devez vous connecter pour publier un commentaire.
La
Response
objet retourné parrequests.post()
a une propriété appeléeelapsed
, ce qui donne le temps delta entre laRequest
été envoyé et leResponse
a été reçu. Pour obtenir le delta en quelques secondes, utilisez letotal_seconds()
méthode:Il convient de mentionner que
requests.post()
est un fonctionnement synchrone, ce qui signifie qu'il "bloque" jusqu'à ce que la réponse est reçue.elapsed
est disponible sur tous lesResponse
, et pas seulement les réponses dePOST
demandes.OriginalL'auteur Nicolas Lykke Iversen
Cela dépend si vous pouvez frapper le serveur avec beaucoup de demandes de test, ou si vous avez besoin d'attendre pour de vrai demandes à se produire.
Si vous avez besoin d'une réelle demande de données, alors vous devez placer l'appel de déterminer l'heure de chaque demande:
Vous auriez besoin d'un endroit pour stocker les résultats de chaque requête sur une période de temps (fichier, base de données, etc). Ensuite, vous pouvez simplement calculer les statistiques des temps de réponse.
Si vous avez un serveur de test disponibles, vous pouvez comparer la réponse sans python en utilisant quelque chose comme apachebench et de l'envoi des données de test pour chaque demande:
https://gist.github.com/kelvinn/6a1c51b8976acf25bd78
OriginalL'auteur Daniel Scott