Приветствую!
Столкнулся с тем, что на форуме стали появлятся 502 и 504 ошибки. У меня phpbb 3.0.12 работающий через php5-fpm+nginx. Поэтому есть возможность включенить slow log и посмотреть, где происходит зависание. А возникает оно в includes/session.php в строке 462 внутри функции session_begin() на UPDATE запросе.
Ситуация понятна. sessions таблица типа MyISAM с блокированием всей таблицы. Автостарт сессии в том числе для гостей приводит к тому, что при заходе ботов таблица постоянно висит заблокированной. В результате php-fpm висит в фазе ожидание ответа запроса на UPDATE (которые на уровне MySQL залочился), nginx не получив данные в течении минуты генерит 504-ую. Конвертация в InnoDB проблему глобального блокрования решила, но проблема все же остается. Я вижу по slow log-у, что 5хх-ые ошибки все же позникают, хотя и реже.
Может есть идею, в какую сторону можно еще порыть? В slow log-е самого MySQL запросов нет вовсе (long_query_time=2), т.е. сами по себе запросы не медленные, просто почему блокирование все равно в некоторых случаях происходит (быстрое открытие на двух вкладках?).
5xx ошибки и сессии
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
).
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
-
xisp
- phpBB 3.0.0 RC7
- Сообщения: 1798
- Стаж: 14 лет 4 месяца
- Благодарил (а): 152 раза
- Поблагодарили: 215 раз
- Забанен: Бессрочно
Re: 5xx ошибки и сессии
Может, все процессы php5-fpm заняты? Какие настройки, в смысле сколько воркеров, динамика или статика, в общем про настройки воркеров скажите.
phpBBex
-
alekciy
- phpBB 1.0.0
- Сообщения: 2
- Стаж: 11 лет 9 месяцев
Re: 5xx ошибки и сессии
Спасибо за помощь! Но как в итоге оказалось проблемы была на самом сервере. Другой проект делал дамп своей базы с ключем --lock-all-tables, что приводило к локу на моём (дамп длится несколько минут).
Приведенная ссылка любопытна. Хочу уточнить. Кроме создания по сути, с точки зрения приложения, суррогатного PK и перевода session_id на UK ни чего изменять больше не нужно и это не имеет ни каких побочных эффектов?
Приведенная ссылка любопытна. Хочу уточнить. Кроме создания по сути, с точки зрения приложения, суррогатного PK и перевода session_id на UK ни чего изменять больше не нужно и это не имеет ни каких побочных эффектов?
-
nissin
- phpBB 3.0.4
- Сообщения: 2229
- Стаж: 18 лет 9 месяцев
- Откуда: Астана
- Благодарил (а): 7 раз
- Поблагодарили: 344 раза
Re: 5xx ошибки и сессии
Для создания резервных копий лучше пользоваться Percona Xtrabackup. Он не блокирует таблицы.
Побочных эффектов нет. Позволяет избавиться от лишней пересортировки таблицы по первичному ключу при добавлении записи (особенность InnoDB движка).
Побочных эффектов нет. Позволяет избавиться от лишней пересортировки таблицы по первичному ключу при добавлении записи (особенность InnoDB движка).
-
Gisher
- phpBB 2.0.12
- Сообщения: 857
- Стаж: 19 лет 11 месяцев
- Благодарил (а): 11 раз
- Поблагодарили: 13 раз
Re: 5xx ошибки и сессии
nissin, Пока проблем не возникало, но всё же, Ваш подход мне нравится.
Вы где нибудь уже меняли структуру, и если да, можно конкретный пример?
Вы где нибудь уже меняли структуру, и если да, можно конкретный пример?
-
nissin
- phpBB 3.0.4
- Сообщения: 2229
- Стаж: 18 лет 9 месяцев
- Откуда: Астана
- Благодарил (а): 7 раз
- Поблагодарили: 344 раза
Re: 5xx ошибки и сессии
Изначально было использовано для forum.awd.ru, когда по заказу выполнял там оптимизацию SQL-запросов.
Сильно тормозили запросы UPDATE для phpbb_sessions, которая хранилась в XtraDB, пришлось копать поглубже. Информация для размышления:
http://softwaremaniacs.org/blog/2008/02 ... e-crashed/
Сильно тормозили запросы UPDATE для phpbb_sessions, которая хранилась в XtraDB, пришлось копать поглубже. Информация для размышления:
http://softwaremaniacs.org/blog/2008/02 ... e-crashed/

