Audit et optimisation MySQL 5 Bonnes pratiques pour l ... - Ãditions VM
Audit et optimisation MySQL 5 Bonnes pratiques pour l ... - Ãditions VM
Audit et optimisation MySQL 5 Bonnes pratiques pour l ... - Ãditions VM
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Gérer une situation d’urgence avec <strong>MySQL</strong>CHAPITRE 19minée l’heure probable de l’origine du problème, comparez celle-ci avec cellesprésentées par l’ordonnanceur.Figure 1–1Posséder un historique surl’activité des bases est d’unegrande utilité, exemple avec<strong>MySQL</strong> Enterprise Manager.Tranche de vie d’une campagne mark<strong>et</strong>ing improviséeVotre système de surveillance est en alerte, les diodes rouges remplacent frénétiquementleurs paisibles ancêtres de couleur verte bien plus rassurant. Pourquoi ? Lestâches programmées ne sont pas incriminées : les crontab ont été passées au peignefin. Les développeurs vous jurent qu’ils n’y sont <strong>pour</strong> rien. Finalement, une fois latempête passée, quelqu’un a déclenché le lancement d’une campagne mark<strong>et</strong>ingreposant sur des pop-ups dynamiques aux requêtes non optimisées. Outre le problèmede communication entre les départements technique <strong>et</strong> mark<strong>et</strong>ing, l’incidentrévèle qu’un seul <strong>et</strong> même utilisateur peut à lui seul occuper 100 % des connexionsdisponibles sur votre serveur <strong>MySQL</strong>.Afin d’empêcher qu’un seul utilisateur consomme toutes les ressources, il est possibled’ajouter certaines restrictions par heure à c<strong>et</strong> utilisateur. Ainsi, le nombre de requêtes,de mises à jour ou de connexions, sont des limites qu’on peut fixer. De plus, lenombre maximal de connexions simultanées <strong>pour</strong> un utilisateur est lui aussi configurable.Restriction à 200 connexions simultanées maximum <strong>pour</strong> un utilisateur existant :mysql> GRANT USAGE ON *.* TO 'user_pub'@'192.168.200.20'with MAX_USER_CONNECTIONS 200;mysql> SHOW GRANTS FOR 'user_pub'@'192.168.200.20';Grants for user_pub@192.168.200.20: GRANT SELECT ON *.* TO'user_pub'@'192.168.200.20' IDENTIFIED BY PASSWORD'*1270C0C06DEE42FD1618BB99005ADCA2EC9D1E19'WITH MAX_USER_CONNECTIONS 200Une augmentation brutale du nombre de requêtes peut provenir d’un problème ducache : soit celui-ci a été brutalement désactivé ou invalidé (query cache) soit votresystème basé sur memcached est défectueux.