Совершенно хорошие запросы на моем sql занимают более 5 секунд - PullRequest
3 голосов
/ 23 ноября 2011

В последнее время мы видим некоторые запросы в логах mysql (master), но не знаем, почему они там отображаются: Запросы select/update table where id = <some integer>.


  1. Есть индекс по идентификатору
  2. размер таблицы ниже 100 000
  3. Сканированные строки исчисляются сотнями (иногда <100) </li>
  4. Сервер работает на очень хорошем оборудовании
  5. В этом нет никаких соединений
  6. В настоящее время в базе данных не выполняется никаких активных действий
  7. таблицы innodb
  8. одни и те же запросы обычно даже не занимают 50 мс, но иногда все выполнение этих запросов занимает около 4-8 секунд

Одно наблюдение состояло в том, что все аналогичные запросы "не медленные, но странные, требующие много времени" занимают почти одинаковое количество времени в течение некоторой продолжительности. То есть все запросы, указанные в верхней части, будут занимать около 4,35 секунды с отклонением в 0,05 секунды.

Влияет ли задержка сети / отбрасывание пакетов на время запроса mysql?

Ответы [ 3 ]

1 голос
/ 01 декабря 2011
show processlist;
show global status like '%onnect%';
show global status like '%open%';

Есть ли резервные копии?Ожидание в очереди?в ожидании файловых дескрипторов?Каковы ваши max_connections, open-files-limit, thread_concurrency?

Один побочный вопрос: влияет ли задержка сети / отбрасывание пакетов на синхронизацию запроса mysql?Да, тайм-аут должен произойти до того, как клиент повторно отправит запрос

0 голосов
/ 23 ноября 2011

Медленный журнал Mysql не является типичным источником информации о ваших медленных запросах. Если что-то замедляет работу сервера, все запросы обычно идут в медленный журнал.

например. если у вас есть медленная блокировка, выберите на MyISAM, много обновлений ПК перейдут в медленный журнал.

Вам нужно искать другие медленные запросы или проблемы с сервером. Как насчет средней нагрузки на эту конкретную машину? MySQL не перемещается в память подкачки? Другие приложения? Количество запросов в секунду?

0 голосов
/ 23 ноября 2011
  • Вы видите эти проблемы локально или по сети? Если последнее, то, очевидно, отбрасывание пакетов может повлиять на вашу производительность, если вы измеряете с клиента.
  • Работает ли он на виртуальной машине, что может повлиять на производительность?
  • Проблемы с диском?
  • Как настроена сериализация? Может ли это быть проблемой конфликта многих процессов, обращающихся к одной и той же строке?
  • Возможно, вы захотите включить журналы запросов / медленных запросов, чтобы увидеть, есть ли какой-либо шаблон, вызывающий это.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...