kshshe
@kshshe
Frontend developer

Где искать причину такого поведения сервера баз данных?

При запросе, изменяющем какие-либо данные, касающиеся индекса, время выполнения иногда увеличивается в несколько раз, и, что хуже всего, все остальные запросы (даже если они никак не касаются этой таблицы), выполняются только после его завершения.

Как можно повлиять на эту ситуацию и/или где искать причину? Если нужны какие-то конкретные данные, напишу.

UPD: проверил, не всегда это касается индексов. Иногда просиходит даже при изменении данных, не находящихся в индексе.
UPD2: запросы останавливаются на стадии updating.
UPD3: нагрузка на процессор в обычном состоянии 20-40%, во время залипания - 100%. Память всегда использована процентов на 50-60 и практически никогда не меняется.
  • Вопрос задан
  • 543 просмотра
Пригласить эксперта
Ответы на вопрос 1
@Fortop
Tech/Team lead
Первое что нужно проверить это тип таблицы.

MyISAM или InnoDB.
Второе наличие транзакции в запросах.

Поведение характерно для таблиц первого типа. У них "table level lock" для изменений в транзакции.
Т.е. блокируется ВСЯ таблица
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы