regii
Новичок
Уровень изоляции транзакций
Есть mysql+apache+nginx. Информационный сайт, все выборки в основном select.
Для статей на сайте ведется подсчет просмотров запросом вида "update table set views=views+1 where id=123;"
Периодически(если много людей начинает заходить на адрес одной статьи) mysql хватает deadlock, затем еще один и еще и весь пул тредов mysql забивается(смотрю через innotop), соответственно вылетает 502 ошибка.
Все таблицы innodb, используется pconnect, уровень изоляции repeatable read.
Пока мысль только одна - снизить уровень изоляции до read commited. Чем это может грозить в данном случае? Потерей нескольких апдейтов(просмотров статьи в статистике)? Может, есть какие-то варианты? Не знаю, куда копать.
Есть mysql+apache+nginx. Информационный сайт, все выборки в основном select.
Для статей на сайте ведется подсчет просмотров запросом вида "update table set views=views+1 where id=123;"
Периодически(если много людей начинает заходить на адрес одной статьи) mysql хватает deadlock, затем еще один и еще и весь пул тредов mysql забивается(смотрю через innotop), соответственно вылетает 502 ошибка.
Все таблицы innodb, используется pconnect, уровень изоляции repeatable read.
Пока мысль только одна - снизить уровень изоляции до read commited. Чем это может грозить в данном случае? Потерей нескольких апдейтов(просмотров статьи в статистике)? Может, есть какие-то варианты? Не знаю, куда копать.