[Решено] Проблема с БД, завелся паразитный запрос.

Проблемы с установкой или работой phpBB 3.0.x? Получите помощь здесь!
С 1 января 2017 года phpBB Group прекращает поддержку phpBB версии 3.0.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.0 до 1 июля 2017 года.
Подробнее: Окончание поддержки phpBB 3.0.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Crelby
phpBB 1.4.2
Сообщения: 74
Стаж: 18 лет 8 месяцев
Благодарил (а): 3 раза
Поблагодарили: 5 раз

[Решено] Проблема с БД, завелся паразитный запрос.

Сообщение Crelby »

Пару недель назад ВНЕЗАПНО (именно так, неожиданно), началась проблема с базой данных phpbb.
Варажалась проблема в высокой нагрузке на процессор и полной дисфункции форума через некоторое время.
Не было ни
- установки модов
- взрывного роста посещаемости
- фейлов хостинга (dedic VDS)

Какое-то время я воевал в одиночестве, смог купировать острую дисфункцию и вот что выяснил. Основную проблему, согласно "Процессам" phpmyAdmin, создает запрос
SELECT f.forum_id, f.forum_name, t.topic_title, t.topic_time, t.topic_replies, t.topic_view
(довольно безобидный, да?)
во время
"Copying to tmp table"

У меня был довольно большой запас по настройкам my.cnf, и я хорошо поигрался с этими настройками. Проблема высокой нагрузки осталась.
Прошу помощи сообщества. В чем дело?

Если есть профессионал, которому близка эта тема, я готов оплатить консультацию в ЛС.
Последний раз редактировалось Crelby 01.01.2014 22:41, всего редактировалось 4 раза.
Аватара пользователя
MIT
Former team member
Сообщения: 2500
Стаж: 17 лет 6 месяцев
Откуда: 56°20′02″ с. ш. 36°42′45″ в. д.
Благодарил (а): 3 раза
Поблагодарили: 351 раз

Re: Проблма с БД

Сообщение MIT »

Гугл рекомендует ознакомится с вот такой вот инструкцией: http://stackoverflow.com/questions/7532 ... disk-mysql
Покрути настройки.
Crelby
phpBB 1.4.2
Сообщения: 74
Стаж: 18 лет 8 месяцев
Благодарил (а): 3 раза
Поблагодарили: 5 раз

Re: Проблма с БД

Сообщение Crelby »

Спасибо за внимание к моей теме, однако, чувствую, что придется живописать подробнее.
Итак.
Не далее как в ноябре форум работал идеально, просто летал на базовых настройках my.cnf. База данных уже тогда была довольно большая, 2.3 Gb в развернутом виде, в декабре она выросла не более чем на 100M.
После того, как проблема началась, я РАЗУМЕЕТСЯ залез в Гугль и нашарил там несколько советов по садоводству.
Вот один из них.
Я выкрутил tmp_table_size и max_heap_table_size с их дефолтного значения (не помню уже какого, но очень низкого) до 512M, 30% от всей памяти хостинга. Проблема несколько купировалась, но не ушла.

Из этого всего я сделал ВЫВОД. Проблема не в настройках Мускула или неподъемности БД, а в чем-то другом.
Я пошел наблюдать за запросами и обнаружил, что 99% заторов создает запрос:
SELECT f.forum_id, f.forum_name, t.topic_title, t.topic_time, t.topic_replies, t.topic_view
(в таком виде он показан в PROCESSLICT phpMyAdmin).
Я пытался найти этот запрос в исходниках phpBB, но не нашел. Есть похожие запросы, но точно такого нет.

ИТАК, вопросы ГУРУ-знатокам.

1. Что это за запрос? Где он используется, что делает? Как его локализовать?
2. Почему этот запрос создает такую большую таблицу, что ей не хватает места в памяти? Даже таблицы posts и поисковые индексы не создают проблем, а этот запрос создает!

Спасибо за внимание к деталям моего рассказа, очень жду помощи со стороны профессионалов.
Ивансон
phpBB 1.4.1
Сообщения: 48
Стаж: 16 лет
Благодарил (а): 3 раза

Re: Проблема с БД (завелся паразитный запрос)

Сообщение Ивансон »

Александр, боюсь в канун нового года ответов будет не много, поэтому пока посоветую гуглить и еще раз гуглить. Попробуй для начала оптимизировать базу в phpmyadmin, а потм запрос в гугл "Copying to tmp table".
Crelby
phpBB 1.4.2
Сообщения: 74
Стаж: 18 лет 8 месяцев
Благодарил (а): 3 раза
Поблагодарили: 5 раз

Re: Проблема с БД (завелся паразитный запрос)

Сообщение Crelby »

Оптимизировал, конечно. И гуглил. Не хочу больше гуглить.
Я почти уверен, что проблема кроется в самом запросе
SELECT f.forum_id, f.forum_name, t.topic_title, t.topic_time, t.topic_replies, t.topic_view
Я хочу узнать у тех, кто разбирается в коде борды, что это за запрос.
И тогда я решу, что делать дальше.

Добавлено спустя 2 минуты 52 секунды:
PS. Я хочу еще раз подчеркнуть, что тормозит только один (ОДИН) запрос. Только он. Все остальное летает.
Аватара пользователя
xisp
phpBB 3.0.0 RC7
Сообщения: 1798
Стаж: 14 лет 4 месяца
Благодарил (а): 152 раза
Поблагодарили: 215 раз
Забанен: Бессрочно

Re: Проблема с БД (завелся паразитный запрос)

Сообщение xisp »

Включите дебаг и под админской учёткой походите по форуму, нажимая на "Explain" снизу, и ищите там этот запрос. Как найдёте- запомните страницу, всё одно сузит область поиска.
phpBBex
Crelby
phpBB 1.4.2
Сообщения: 74
Стаж: 18 лет 8 месяцев
Благодарил (а): 3 раза
Поблагодарили: 5 раз

Re: Проблема с БД (завелся паразитный запрос)

Сообщение Crelby »

xisp писал(а):Включите дебаг
Прошу пардону, это какая-то функция конференции или серверная?
Подскажите, как это включать.
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: Проблема с БД (завелся паразитный запрос)

Сообщение Sheer »

Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Crelby
phpBB 1.4.2
Сообщения: 74
Стаж: 18 лет 8 месяцев
Благодарил (а): 3 раза
Поблагодарили: 5 раз

Re: Проблема с БД (завелся паразитный запрос)

Сообщение Crelby »

Дебаг выявил кучу мелких косячков, которые я устранил, но вопрос так и не решился.
Вообще есть способ узнать, с какой страницы идет тот или иной запрос к БД?
Желательно, чтобы это можно было записывать в лог.
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11361
Стаж: 16 лет 8 месяцев
Благодарил (а): 1832 раза
Поблагодарили: 1358 раз

Re: Проблема с БД (завелся паразитный запрос)

Сообщение Пчелкин »

Crelby писал(а): с какой страницы идет тот или иной запрос к БД?
Есть...эксплейн все показывает...смотри на здоровье...
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
Crelby
phpBB 1.4.2
Сообщения: 74
Стаж: 18 лет 8 месяцев
Благодарил (а): 3 раза
Поблагодарили: 5 раз

Re: Проблема с БД (завелся паразитный запрос)

Сообщение Crelby »

Если речь про Explain, который в дебаг-моде, то он не подходит. Там последовательность "страница->запрос". А мне нужна обратная, "запрос->страница". Я этот Explain прокликал где мог, но этого запроса не нашел.
Но откуда-то же он взялся, запрос этот?
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11361
Стаж: 16 лет 8 месяцев
Благодарил (а): 1832 раза
Поблагодарили: 1358 раз

Re: Проблема с БД (завелся паразитный запрос)

Сообщение Пчелкин »

Crelby писал(а):SELECT f.forum_id, f.forum_name, t.topic_title, t.topic_time, t.topic_replies, t.topic_view
Когда последний раз смотрел...не?
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
Crelby
phpBB 1.4.2
Сообщения: 74
Стаж: 18 лет 8 месяцев
Благодарил (а): 3 раза
Поблагодарили: 5 раз

Re: Проблема с БД (завелся паразитный запрос)

Сообщение Crelby »

Прости, я не понял вопроса.
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11361
Стаж: 16 лет 8 месяцев
Благодарил (а): 1832 раза
Поблагодарили: 1358 раз

Re: Проблема с БД (завелся паразитный запрос)

Сообщение Пчелкин »

Это ответ...запрос ищет в БД - когда последний раз ты смотрел эту тему ... Вродь так получается...
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
Crelby
phpBB 1.4.2
Сообщения: 74
Стаж: 18 лет 8 месяцев
Благодарил (а): 3 раза
Поблагодарили: 5 раз

Re: Проблема с БД (завелся паразитный запрос)

Сообщение Crelby »

Возможно. Еще такое уточнение.
В принципе возможен вариант, что в php-файлах нет этого запроса в представленном виде, что он генерируется "на лету", составляется из, например, двух запросов?
Извини, если несу ересь, я не глубокий специалист.

Не могу взять в толк, почему не могу найти его в поиске по файлам борды.
Я даже специально скачал все файлы. Ищу с помощью EditPlus. Искал как целиком, так и по частям.

Вернуться в «Поддержка phpBB 3.0.х»