Ralentir les Performances MySQL & Sommeil requêtes
Récemment, j'ai remarqué très lenteur de chargement de données AJAX sur mon site web dans les premières heures de la journée. À l'aide de la Web Developer fonction dans le navigateur Chrome, l'habitude des vitesses de 300 à 500 ms Attendre et 100-300ms Recevoir peut augmenter jusqu'à 5 secondes! Le site utilise jQuery, Codeigniter/PHP et MySQL.
J'ai vérifié avec le bureau de soutien de mon VPS et ils ont mentionné sur le fait d'avoir trop de sommeil requêtes.
There are many sleep queries for the database 'databasename'.
| 4341 | mysqluser | 204.197.252.106:48669 | databasename | Sleep | 19 | | |
| 4373 | mysqluser | 204.197.252.106:59966 | databasename | Sleep | 78 | | |
| 4387 | mysqluser | 204.197.252.106:34807 | databasename | Sleep | 46 | | |
| 4388 | mysqluser | 204.197.252.106:35099 | databasename | Sleep | 6 | | |
| 4390 | mysqluser | 204.197.252.106:35452 | databasename | Sleep | 26 | | |
| 4391 | mysqluser | 204.197.252.106:35589 | databasename | Sleep | 7 | | |
| 4392 | mysqluser | 204.197.252.106:35680 | databasename | Sleep | 19 | | |
| 4393 | mysqluser | 204.197.252.106:36264 | databasename | Sleep | 12 | | |
| 4394 | mysqluser | 204.197.252.106:36327 | databasename | Sleep | 11 | | |
Est-ce la cause des ralentissements dans la matinée? Comment puis-je savoir quelle est la cause du ralentissement et de se débarrasser de lui?
Vous devez vous connecter pour publier un commentaire.
Ces sommeil requêtes sont juste des connexions ouvertes. Je ne voudrais pas être dérangé par eux, sauf s'ils sont des centaines. Plus probablement, ils formez le pool de connexion de votre cadre/ORM est à l'aide.
Pour diagnostiquer votre problème avec les requêtes lentes, vous aurez besoin d'obtenir le slow query log. Dans le cas de requêtes lentes de la journalisation est éteint, mettez-la immédiatement sur.
Une fois que vous avez adapté le fichier journal, vous devrez analyser la lenteur de l'exécution de requêtes avec expliquer. Expliquer permettra de voir comment Mysql planificateur de requête et de l'analyseur est en cours d'exécution des requêtes.
Aussi coller la sortie de l'expliquer sur le plus lent de l'exécution de requêtes ici avec le schéma de la table, afin que nous puissions mieux diagnostiquer votre problème.
Si vous voulez tuer sommeil de connexion vous pouvez le faire comme ceci:
connexion à Mysql en tant qu'admin:
Et que la commande exécuter:
Vous obtiendrez quelque chose comme ci-dessous :
Vous permettra de voir les détails complets des différentes connexions. Maintenant, vous pouvez tuer le sommeil de connexion ci-dessous: