Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

phpbb debug при отправке поста - есть ли возможность включить?

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

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

phpbb debug при отправке поста - есть ли возможность включить?

Сообщение Andex »

Столкнулся с долгой отправкой поста в ряд больших топиков (1000+ постов)

Решил глянуть, в каком именно место затык, но понял, что phpbbшный debug тут не поможет, т.к. при отправке POST-запроса на сервер, данные в бд инсертятся, после чего происходит редирект на страницу темы. Возможно ли как-то включить дебаг для данного случая, чтобы мне вывалились соотвествующие данные вместо редиректа?
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12420
Стаж: 12 лет 8 месяцев
Благодарил (а): 166 раз
Поблагодарили: 2473 раза

Re: phpbb debug при отправке поста - есть ли возможность включить?

Сообщение Татьяна5 »

Т.е. более 100 страниц в теме? Даже на чистом phpBB действия с такими темами могут тормозить (если, конечно, форум не на мощном выделенном сервере)
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 17 лет 1 месяц
Откуда: Калининград не Кенигсберг
Благодарил (а): 41 раз
Поблагодарили: 1716 раз

Re: phpbb debug при отправке поста - есть ли возможность включить?

Сообщение Sheer »

Andex писал(а): (1000+ постов)
Всему есть предел, здравому смыслу тоже (c)
Разделите тему не несколько.
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Andex
phpBB 1.4.2
Сообщения: 59
Стаж: 17 лет 11 месяцев
Благодарил (а): 5 раз
Поблагодарили: 6 раз

Re: phpbb debug при отправке поста - есть ли возможность включить?

Сообщение Andex »

Татьяна5, ну сервер выделенный конечно. страниц там например 50, т.к. побито по 20, собственно, это сути дела не меняет. Не мне ж вам рассказывать, что есть куча phpbb-форумов, которые живут и при тыщах страниц. Понятно дело, что там свои соотв. модификации в т.ч.

1000 постов это большая тема? та ну...

Но это второй вопрос, первый - как отдебажить сей момент, чтобы понять, что именно тюнить, какие именно запросы лагают.
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12420
Стаж: 12 лет 8 месяцев
Благодарил (а): 166 раз
Поблагодарили: 2473 раза

Re: phpbb debug при отправке поста - есть ли возможность включить?

Сообщение Татьяна5 »

Andex писал(а): 1000 постов это большая тема? та ну...
Да, большая
Где темы больше - отказываются от всех модов/расширений и от некоторых стандартных "плюшек" (вроде допполей в теме и подписей) чтобы оно вообще приемлемо работало. (Встречались такие форумы)
Andex писал(а): как отдебажить сей момент
Отключением расширений, определением что именно тормозит (если это они), а дальше лезть в код
Andex
phpBB 1.4.2
Сообщения: 59
Стаж: 17 лет 11 месяцев
Благодарил (а): 5 раз
Поблагодарили: 6 раз

Re: phpbb debug при отправке поста - есть ли возможность включить?

Сообщение Andex »

Татьяна5, Дело не в расширениях (тем более, что они все кроме одного писаны мной самим и я понимаю, что там происходит)

Вы уводите вопрос не в ту сторону, я лишь спросил, можно ли как-то вывалить дебажную информацию (вот эти вот EXPLAIN запросов в частности) после POST-запроса (posting.php?mode=reply), чтобы меня не редиректнуло, а отдало страницу с этими данными вместо редиректа. Т.е. меня интересует именно информация во время выполнения posting.php при добавлении поста, а не последующая страница темы, на которую редиректит.
Мне подумалось, что раз уж разработчики сделали возможность дебага, то может быть есть какая-то возможность (о которой я не знаю), получить эти данные и в нужном мне случае (ведь время отправки поста это не менее важная информация, чем время генерирования страницы).

Лезть в код - понятное дело. Но:
В данном случае я практически уверен, что затыки в sql (mysql в частности), а не в php
Да, я конечно могу включить полные sql-логи и т.д. и попробовать поискать там
Но вы должны понимать, что это происходит на продакшеновом сервере, и для того, чтобы повторить эту ситуацию, мне нужно это все анализировать там же, в то же время, когда параллельно на форуме висят 500 пользователей и тыкают БД, поскольку локально, или если форум закрыть - то все зашуршит намного быстрее и будет непоказательным. И если SELECTы я еще смогу проверить на время их выполнения, то с инсертами/апдейтами такой фокус не пройдет, т.к. это нарушит целостность БД. Соответственно, думал как-то получить в реальном времени эти EXPLAIN.


Что касается больших форумов, вы недооцениваете phpbb :) Вот вам пара форумов (правда 3.0), с более чем базовой функциональностью (может где-то что-то и откл. конечно, но основные фичи работают) Дада, конечно, они перепилены вдоль и поперек, но это не относится к моему вопросу о том, как получить стандартными средствами phphbb дебажную инфу вместо редиректа
http://forum.finance.ua/topic74.html (66 тыс. постов в теме, как вам?)
https://forums.overclockers.ru/viewtopi ... 3&t=519805 (45 тыс.)
Anvar
Former team member
Сообщения: 1965
Стаж: 14 лет
Благодарил (а): 57 раз
Поблагодарили: 625 раз

Re: phpbb debug при отправке поста - есть ли возможность включить?

Сообщение Anvar »

Если временно проверить, то идём в posting.php

И закомментируем:

Код: Выделить всё

meta_refresh(10, $redirect_url);

Код: Выделить всё

redirect($redirect_url)
Не пишите вопросы лично, если можете задать их на форуме!
Спецзаказы не интересуют!
Andex
phpBB 1.4.2
Сообщения: 59
Стаж: 17 лет 11 месяцев
Благодарил (а): 5 раз
Поблагодарили: 6 раз

Re: phpbb debug при отправке поста - есть ли возможность включить?

Сообщение Andex »

Anvar, Да эт само собой

В общем, получил то, что хотел. Решение оказалось максимально простым - в форме отправки поста просто в action дописываем &explain=1 и получаем на выходе нужную страницу с инфой.

Ну и само собой редирект должен быть отключен, как, например, Anvar выше и написал.
Всем спасибо,проблема оказалась в другом месте, хоть я это и подозревал тоже, но уже во вторую очередь после sql.
Последний раз редактировалось Andex 29.01.2017 12:28, всего редактировалось 1 раз.
Anvar
Former team member
Сообщения: 1965
Стаж: 14 лет
Благодарил (а): 57 раз
Поблагодарили: 625 раз

Re: phpbb debug при отправке поста - есть ли возможность включить?

Сообщение Anvar »

Пробежался я по своему старому форуму, темы с 1500 сообщений куча, есть и по 3к+. Тормозов нету, хотя раньше на обычном хостинге жалобы были частые, ну сейчас ещё посещалка пришла на нет, что тоже идёт в зачёт производительности.
Не пишите вопросы лично, если можете задать их на форуме!
Спецзаказы не интересуют!
Andex
phpBB 1.4.2
Сообщения: 59
Стаж: 17 лет 11 месяцев
Благодарил (а): 5 раз
Поблагодарили: 6 раз

Re: phpbb debug при отправке поста - есть ли возможность включить?

Сообщение Andex »

FYI проблема заключалась вот в этом запросе в /phpbb/notification/type/post.php:

Код: Выделить всё

SELECT 
	n.* 
FROM 
	phpbb3_notifications n, 
	phpbb3_notification_types nt 
WHERE 
	n.notification_type_id = 5 
	AND n.item_parent_id = 5 
	AND n.notification_read = 0 
	AND nt.notification_type_id = n.notification_type_id 
	AND nt.notification_type_enabled = 1
phpbb3_notifications объемом метров в 400, около 300 тыс. записей
Индексов, например на item_parent_id нет, в итоге запрос выполняется в районе 5-6 секунд
Добавление индекса решает проблему, запрос выполняется мене 0,1 сек

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