У меня есть запрос, который выглядит так:
SELECT id FROM user WHERE id='47'
Идентификатор индексируется, и чтение для этого запроса всегда выполняется при использовании профилирующих данных, например.
SET profiling = 1;
SHOW PROFILES;
Запросы всегда выполняются примерно за 0,0002 секунды.
Однако, если я профилирую запрос со стороны PHP, например:
$current = microtime(true);
$data = $conn->query($full_query);
$elapsed = microtime(true) - $current;
Тогда иногда, возможно, 1 из 50 из этих запросов займет примерно 2 сек. Тем не менее, в моем тесте script у меня есть код для проверки этого, который профилирует запрос, используя SET profiling = 1; и даже несмотря на то, что поездка в PHP через PDO может быть .2 секунды, время запроса было еще 0,0002.
Вещи, которые я знаю, или знаю, что это не вызывает проблемы:
- Запрос не медленный. Когда я смотрю на тот же запрос, из одного и того же запроса, профилированного на PHP и профилированного с использованием SET PROFILING, запрос всегда быстр и никогда не регистрируется в журнале медленных запросов, даже когда он показывает, что занимает 0,2 секунды со стороны PHP.
- Это не связанное с пропуском имя-разрешение - это непоследовательно, и у меня уже есть разрешение на имя пропущенного имени
- Это не связанный с кешем запросов, поведение существует как в
- Такое поведение происходит даже по запросам, выходящим из кеша.
- Запрос фактически не отображает идентификатор, но я использую этот запрос для тестирования, чтобы показать, что он не является проблемой доступа к диску, поскольку это поле определенно индексируется.
- Эти таблицы составляют всего 10-20 мегабайт с чем-то вроде индекса 1 мега. Машина показывает очень мало нагрузки, и innodb не использует все свои буферы.
- Это проверено на таблицу, которая не имеет других действий против нее, кроме моих тестовых запросов.
Есть ли у кого-нибудь идеи, что еще проверить? Мне кажется, что это сетевая проблема, но мне нужно уметь ее видеть и найти проблему, чтобы исправить ситуацию, и у меня заканчивается ситуация, чтобы проверить ее. Любые идеи?