Question

Y at-il de toute façon d'établir des priorités ou des gaz une requête du tout dans MySQL?

Je suis un DBA sur un serveur qui voit beaucoup de requêtes non optimisées viennent dans le serveur et ils détruisent tout le CPU. Je regarde étranglant certains utilisateurs qui ont frappé sur la base de données de manière médiocre.

Précision:

Je me rends compte que MySQL dispose d'installations construites pour nombre limite de requêtes, connexions, etc. Mais ce ne sont pas vraiment la question, il est qu'une fois dans une lune bleue un utilisateur envoie une requête unoptimized, et je besoin en temps dehors ou quelque chose de similaire.

Était-ce utile?

La solution

http://dev.mysql.com/doc /refman/4.1/en/user-resources.html

A partir de MySQL 4.0.2, vous pouvez limiter l'accès aux ressources du serveur suivantes pour les comptes individuels:

Le nombre de requêtes qu'un compte peut émettre par heure

Le nombre de mises à jour d'un compte peut émettre par heure

Le nombre de fois qu'un compte peut se connecter au serveur par heure

Infos supplémentaires -

MySQL n'a pas une valeur de délai d'attente de la requête, ou de toute autre manière intégrée pour étrangler une requête individuelle. Cependant, il est assez trivial d'écrire un script qui va tuer les requêtes de longue durée. Vous pouvez même capturer l'utilisateur et requête afin que vous pouvez battre l'utilisateur offenser / programmeur plus tard.

est un exemple de l'utilisation PERL.

Autres conseils

Je sais que phpMyAdmin a une superficie pour max de requêtes par heure, Max Nombre de mises à jour par heure, Max Nombre de connexions par heure, et Max Nombre de connexions utilisateur par utilisateur. Il y a probablement d'autres façons de définir ces valeurs autres que phpMyAdmin

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top