Un service,
une instance
Monter, mesurer, séparer, remesurer : le laboratoire 1 de l'Application distribuée.
420-5A4-MT · Acte 5 · La séparationÀ la fin de la séance, vous aurez :
- Partie 1 : WordPress et MySQL sur une seule instance, avec 2 articles illustrés dans un thème une page.
- Partie 2 : le même site avec chaque service sur son instance (mysql10, http20).
- Les deux montages mesurés au test de charge BRUTAL : captures top et tableau remplis.
- Le tout dans GitHub : /votre-nom/laboratoire1/
Cet atelier suit l'énoncé officiel Laboratoires Application distribuée (laboratoire 1, 5 points, en équipe de 4 mais démonstration par étudiant). Minimum 2 commits pertinents en classe cette semaine.
Préparer ses instances
Selon votre choix d'infrastructure (VM VirtualBox, DinD ou VPS), préparez les instances de la semaine :
- Partie 1 : une instance tout-en-un (référence VirtualBox : 192.168.56.2, 1 Go, 12 Go).
- Partie 2 : deux instances, mysql10 et http20 (référence : 192.168.56.10 et .20).
- Convention de nommage : SERVICE_PRINCIPAL + 3 derniers chiffres de l'adresse (http20, mysql10).
- Autre substrat que VirtualBox : mêmes derniers chiffres dans votre sous-réseau, plan d'adressage documenté dans le README.
Tout sur une seule instance
- Installer les deux services principaux : HTTP (apache2) et MySQL, selon le matériel de cours.
- Un WordPress avec au moins 2 articles (image et texte), présenté dans un thème qui tient en une seule page.
- Le site doit répondre dans le navigateur de la machine hôte.
Vous avez déjà tous les gestes : c'est le WordPress du cours de serveur, remonté proprement. Le but de cette partie n'est pas la nouveauté : c'est d'avoir un point de comparaison mesurable.
Premier test de charge BRUTAL
- Dans JMeter : un Thread Group bien gonflé, une requête HTTP vers la page d'accueil, la vue View Results in Table.
- Pendant le test, top en SSH sur toutes les instances actives.
- Capture après environ 10 secondes : performances_partie_1_10secondes.png
- Capture après environ 60 secondes : performances_partie_1_60secondes.png
- Noter au tableau : la valeur id de chaque instance et le temps moyen JMeter.
Séparer : 1 service = 1 instance
Vérification : le site répond depuis l'hôte, les articles sont là. Si la page est blanche, les journaux d'Apache et l'utilisateur MySQL distant sont vos premiers suspects.
Remesurer, comparer, conclure
- Même test BRUTAL, mêmes gestes : captures performances_partie_2_10secondes.png et performances_partie_2_60secondes.png (top des DEUX instances cette fois).
- Remplir la deuxième ligne du tableau : id de mysql10, id de http20, temps moyen JMeter.
- La question d'architecte, à répondre dans votre guide : qu'est-ce qui s'est amélioré, qu'est-ce qui s'est dégradé, et pourquoi ?
Livrables et devoir
- Dans GitHub : votre guide d'installation .md, les fichiers de configuration, le tableau rempli, les captures. Pour chaque étudiant.
- Les instances restent fonctionnelles : elles servent de base à toute la suite du module.
- Devoir : terminer le laboratoire avant le cours de la semaine 7.
La semaine prochaine, l'acte 6 : l'essaimage commence par la cache. Pourquoi recuisiner la même page dix mille fois quand on peut la garder toute prête ?
Version de départ · ce diaporama va s'enrichir