J'ai une requête qui ressemble à ceci:
SELECT id FROM user WHERE id='47'
L'ID est indexé et lit pour cette requête sont toujours rapide lors de l'utilisation de profilage de données, comme cela.
SET profiling = 1;
SHOW PROFILES;
Les requêtes s'exécutent toujours dans autour de 0,0002 secondes.
Cependant, si j'ai le profil de la requête à partir de l'PHP côté, comme ceci:
$current = microtime(true);
$data = $conn->query($full_query);
$elapsed = microtime(true) - $current;
Alors parfois peut-être 1 sur 50 de ces requêtes faudra quelque chose comme .2 secondes. Cependant, dans mon script de test, j'ai le code pour tester ce que les profils de la requête à l'aide de JEU de profilage = 1; et même si le PHP tour de voyage dans l'AOP peut être .2 secondes la durée de la requête était encore de 0,0002.
Les choses que je connais, ou que vous connaissez qui ne sont pas à l'origine du problème:
- La requête n'est pas lent. Quand je regarde la même requête, à partir de la même requête à exécuter, profilés en PHP et profilé à l'aide de JEU de PROFILAGE de la requête est toujours rapide et de ne jamais enregistré dans le slow query log, même quand il montre la prise .2 secondes de la PHP côté.
- Ce n'est pas skip-name-resolve liés - c'est incohérent et j'ai skip-name-resolve déjà sur
- Ce n'est pas du cache de requêtes liées, le problème existe dans les deux
- Ce problème se produit même sur les requêtes provenant de la cache.
- La requête n'a pas pour effet de sélectionner l'ID, mais je utiliser cette requête pour que les essais montrent que ce n'est pas un problème d'accès au disque depuis que le terrain est certainement indexés.
- Ce tableau est seulement de 10 à 20 mégas avec quelque chose comme un 1 meg index. La machine indique très peu de charges et innodb n'est pas à l'aide de tous ses tampons.
- C'est testé sur une table qui n'a pas d'autre activité contre d'autres que mes requêtes de test.
Quelqu'un a une idée de ce que l'autre chose à vérifier? Cela me semble être un problème de réseau, mais j'ai besoin d'être en mesure de voir et de trouver la question à régler le problème et je suis à cours d'endroits à vérifier suivant. Des idées?