Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.
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 при отправке поста - есть ли возможность включить?
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать расширения
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ).
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать расширения
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ).
phpbb debug при отправке поста - есть ли возможность включить?
Столкнулся с долгой отправкой поста в ряд больших топиков (1000+ постов)
Решил глянуть, в каком именно место затык, но понял, что phpbbшный debug тут не поможет, т.к. при отправке POST-запроса на сервер, данные в бд инсертятся, после чего происходит редирект на страницу темы. Возможно ли как-то включить дебаг для данного случая, чтобы мне вывалились соотвествующие данные вместо редиректа?
Решил глянуть, в каком именно место затык, но понял, что phpbbшный debug тут не поможет, т.к. при отправке POST-запроса на сервер, данные в бд инсертятся, после чего происходит редирект на страницу темы. Возможно ли как-то включить дебаг для данного случая, чтобы мне вывалились соотвествующие данные вместо редиректа?
-
- Поддержка
- Сообщения: 12424
- Стаж: 12 лет 8 месяцев
- Благодарил (а): 166 раз
- Поблагодарили: 2475 раз
Re: phpbb debug при отправке поста - есть ли возможность включить?
Т.е. более 100 страниц в теме? Даже на чистом phpBB действия с такими темами могут тормозить (если, конечно, форум не на мощном выделенном сервере)
-
- Former team member
- Сообщения: 12113
- Стаж: 17 лет 2 месяца
- Откуда: Калининград не Кенигсберг
- Благодарил (а): 41 раз
- Поблагодарили: 1716 раз
Re: phpbb debug при отправке поста - есть ли возможность включить?
Всему есть предел, здравому смыслу тоже (c)
Разделите тему не несколько.
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Re: phpbb debug при отправке поста - есть ли возможность включить?
Татьяна5, ну сервер выделенный конечно. страниц там например 50, т.к. побито по 20, собственно, это сути дела не меняет. Не мне ж вам рассказывать, что есть куча phpbb-форумов, которые живут и при тыщах страниц. Понятно дело, что там свои соотв. модификации в т.ч.
1000 постов это большая тема? та ну...
Но это второй вопрос, первый - как отдебажить сей момент, чтобы понять, что именно тюнить, какие именно запросы лагают.
1000 постов это большая тема? та ну...
Но это второй вопрос, первый - как отдебажить сей момент, чтобы понять, что именно тюнить, какие именно запросы лагают.
-
- Поддержка
- Сообщения: 12424
- Стаж: 12 лет 8 месяцев
- Благодарил (а): 166 раз
- Поблагодарили: 2475 раз
Re: phpbb debug при отправке поста - есть ли возможность включить?
Да, большая
Где темы больше - отказываются от всех модов/расширений и от некоторых стандартных "плюшек" (вроде допполей в теме и подписей) чтобы оно вообще приемлемо работало. (Встречались такие форумы)
Отключением расширений, определением что именно тормозит (если это они), а дальше лезть в код
Re: phpbb debug при отправке поста - есть ли возможность включить?
Татьяна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 тыс.)
Вы уводите вопрос не в ту сторону, я лишь спросил, можно ли как-то вывалить дебажную информацию (вот эти вот 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 тыс.)
Re: phpbb debug при отправке поста - есть ли возможность включить?
Если временно проверить, то идём в posting.php
И закомментируем:
И закомментируем:
Код: Выделить всё
meta_refresh(10, $redirect_url);
Код: Выделить всё
redirect($redirect_url)
Не пишите вопросы лично, если можете задать их на форуме!
Спецзаказы не интересуют!
Спецзаказы не интересуют!
Re: phpbb debug при отправке поста - есть ли возможность включить?
Anvar, Да эт само собой
В общем, получил то, что хотел. Решение оказалось максимально простым - в форме отправки поста просто в action дописываем &explain=1 и получаем на выходе нужную страницу с инфой.
Ну и само собой редирект должен быть отключен, как, например, Anvar выше и написал.
Всем спасибо,проблема оказалась в другом месте, хоть я это и подозревал тоже, но уже во вторую очередь после sql.
В общем, получил то, что хотел. Решение оказалось максимально простым - в форме отправки поста просто в action дописываем &explain=1 и получаем на выходе нужную страницу с инфой.
Ну и само собой редирект должен быть отключен, как, например, Anvar выше и написал.
Всем спасибо,
Последний раз редактировалось Andex 29.01.2017 12:28, всего редактировалось 1 раз.
Re: phpbb debug при отправке поста - есть ли возможность включить?
Пробежался я по своему старому форуму, темы с 1500 сообщений куча, есть и по 3к+. Тормозов нету, хотя раньше на обычном хостинге жалобы были частые, ну сейчас ещё посещалка пришла на нет, что тоже идёт в зачёт производительности.
Не пишите вопросы лично, если можете задать их на форуме!
Спецзаказы не интересуют!
Спецзаказы не интересуют!
Re: phpbb debug при отправке поста - есть ли возможность включить?
FYI проблема заключалась вот в этом запросе в /phpbb/notification/type/post.php:
phpbb3_notifications объемом метров в 400, около 300 тыс. записей
Индексов, например на item_parent_id нет, в итоге запрос выполняется в районе 5-6 секунд
Добавление индекса решает проблему, запрос выполняется мене 0,1 сек
Код: Выделить всё
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
Индексов, например на item_parent_id нет, в итоге запрос выполняется в районе 5-6 секунд
Добавление индекса решает проблему, запрос выполняется мене 0,1 сек