Pourquoi utiliser des tests
Lorsque le site Web passe de l'environnement de développement à la production, de nombreux visiteurs réels génèrent une charge de serveur et les performances du site Web peuvent être différentes de ce à quoi vous vous attendiez. Pour prédire le comportement du site Web, vous devez simuler un chargement réel sur votre serveur de test.
Objectifs des tests
Le pa le plus importantrameters de fonctionnement du site Web est :
- Latence - le temps entre la demande de l'utilisateur et la réponse du serveur ;
- Server marge de performance - le nombre de requêtes simultanées que le serveur peut gérer. En cas de surcharge du serveur, les requêtes des utilisateurs sur le site Web seront placées dans la file d'attente ou même rejetées ;
- Stabilité - combien de demandes sont traitées avec une qualité prévisible. C'est ce qu'on appelle le "percentile". Par exemple, 20 millisecondes de réponse du premier octet au 90e centile (bon travail) signifie que 90 % des demandes des utilisateurs recevront une "réponse" en 20 ms ou moins.
Avant de tester
Avant d'exécuter les tests, vous devez vous assurer que votre serveur dispose de suffisamment de ressources système pour gérer toutes les requêtes. Les "métriques" communes sont la mémoire système disponible et CPU Chargement en cours. A vérifier disponible RAM vous pouvez utiliser l'utilitaire intégré nommé faim. Exécutez simplement une commande simple :
free -m
Dans la plupart des cas d'utilisation, le serveur doit avoir au moins 25 % de gratuité RAM, sans échanger.
Situation avec CPU chargement décrira un autre utilitaire intégré. Veuillez l'exécuter pour vérifier :
top
La charge moyenne du système ne doit pas dépasser 1*CPU quantité de noyaux. Par exemple, si la charge moyenne de 8 cœurs CPU excès de 8.00 - vous êtes en difficulté.
Simulation de charge
Pour simuler de vrais visiteurs, vous pouvez utiliser quelques outils. Regardez la description ci-dessous :
- à partir.
Cet outil vous permet d'effectuer de nombreuses connexions simultanées au serveur Web. Exécutez simplement :
ab -c <NUMBER_OF_SIMULTANEOUS_REQUESTS> -n <NUMBER_OF_TOTAL_REQUESTS> <WEBSITE_URL>
- siège.
Ceci est très similaire avec l'outil de console précédent. Pour l'installer, lancez simplement le gestionnaire de packages :
apt install siege
Utilisez ensuite l'outil :
siege -t <TESTING_TIME> -c <NUMBER_OF_SIMULTANEOUS_REQUESTS> <WEBSITE_URL>
- criquet
Une autre utilité pour les tests est la sauterelle. C'est un utilitaire de test avec une interface Web. Pour l'installer, veuillez exécuter :
pip3 install locust
Téléchargez ensuite le fichier de configuration, modifiez-le selon vos besoins et exécutez le test :
wget https://raw.githubusercontent.com/locustio/locust/master/examples/browse_docs_test.py
sed 's|https://docs.locust.io/en/latest|<YOUR_DOMAIN>|g' browse_docs_test.py
locust -f browse_docs_test.py
Ensuite, vous pouvez ouvrir l'URL http:// :8089 pour voir les résultats des tests
Résumé
Dans cet article, nous avons décrit comment simuler la charge de production sur votre serveur pour tester le site Web.