Уважаемые пользователи!
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 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) | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16369
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1745 раз

Re: Тормозит форум

Сообщение rxu »

Niko Connor, Параметры сервера какие? А в phpBB DEBUG случаем не активирован?
Изображение
Аватара пользователя
Niko Connor
phpBB 1.2.0
Сообщения: 17
Стаж: 7 лет 7 месяцев

Re: Тормозит форум

Сообщение Niko Connor »

rxu писал(а): Параметры сервера какие? А в phpBB DEBUG случаем не активирован?
Эх, была уже надежда, что действительно дебаг забыли выключить, но нет, он не активирован :(

Сервер - банальный виртуальный хостинг.

Параметры:

CPU'S:56 * Intel(R) Xeon(R) CPU E5-2697 v3 @ 2.60GHz
ОЗУ свободно:11680 / 257851 Мб.
Нагрузка:11.36 load average

Для информации: на моём пользователе 930 непрочитанных тем, судя по таблице "phpbb_topics_track", хотя на самой странице пишет "Найдено более 1000 результатов".
Аватара пользователя
nissin
phpBB 3.0.4
Сообщения: 2209
Стаж: 16 лет 4 месяца
Откуда: Павлодар
Благодарил (а): 5 раз
Поблагодарили: 153 раза

Re: Тормозит форум

Сообщение nissin »

Так что в explain, какой запрос тормозит?
Всё повторяется. nurlan.info
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16369
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1745 раз

Re: Тормозит форум

Сообщение rxu »

Niko Connor, 3.1 есть заметно больше ресурсов, но 20 сек - это явно очень большой перебор. А расширения какие-то установлены?
Изображение
Аватара пользователя
Mr. Anderson
phpBB Guru
phpBB Guru
Сообщения: 7522
Стаж: 20 лет 1 месяц
Откуда: СССР
Благодарил (а): 5 раз
Поблагодарили: 105 раз

Re: Тормозит форум

Сообщение Mr. Anderson »

Niko Connor писал(а): банальный виртуальный хостинг
А, ну можно дальше не гадать. Оверселлинг.
Niko Connor писал(а): Нагрузка:11.36 load average
Да ЕЩЕ КАКООООООЙ.
Аватара пользователя
Niko Connor
phpBB 1.2.0
Сообщения: 17
Стаж: 7 лет 7 месяцев

Re: Тормозит форум

Сообщение Niko Connor »

nissin писал(а): Так что в explain, какой запрос тормозит?
Честно говоря, не могу сообразить, как залогировать запросы и какие именно, чтобы провести их через explain.
rxu писал(а): Niko Connor, 3.1 есть заметно больше ресурсов, но 20 сек - это явно очень большой перебор. А расширения какие-то установлены?
Стоят расширения 'thanks for posts' и 'medals system'.
В целом и общем тормозят только "непрочитанные сообщения".

Вечером ещё погоняю локально. Заодно отловлю запросы, которые надо проанализировать. Пока данные только с живого форума.
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12446
Стаж: 12 лет 8 месяцев
Благодарил (а): 166 раз
Поблагодарили: 2479 раз

Re: Тормозит форум

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

Niko Connor писал(а): чтобы провести их через explain
Речь про встроенный в движок explain. Включите дебаг.
Аватара пользователя
nissin
phpBB 3.0.4
Сообщения: 2209
Стаж: 16 лет 4 месяца
Откуда: Павлодар
Благодарил (а): 5 раз
Поблагодарили: 153 раза

Re: Тормозит форум

Сообщение nissin »

Niko Connor писал(а): CPU'S:56 * Intel(R) Xeon(R) CPU E5-2697 v3 @ 2.60GHz
ОЗУ свободно:11680 / 257851 Мб.
Нагрузка:11.36 load average
Mr. Anderson писал(а): Да ЕЩЕ КАКООООООЙ.
56 ядер же, вполне имеет право быть.
Всё повторяется. nurlan.info
Аватара пользователя
Mr. Anderson
phpBB Guru
phpBB Guru
Сообщения: 7522
Стаж: 20 лет 1 месяц
Откуда: СССР
Благодарил (а): 5 раз
Поблагодарили: 105 раз

Re: Тормозит форум

Сообщение Mr. Anderson »

nissin писал(а): 56 ядер же
28, про гипер-трипер не забываем, да? ;)
nissin писал(а): вполне имеет право быть
Очень неуверен. Но iowait никто не даст ;)
Аватара пользователя
nissin
phpBB 3.0.4
Сообщения: 2209
Стаж: 16 лет 4 месяца
Откуда: Павлодар
Благодарил (а): 5 раз
Поблагодарили: 153 раза

Re: Тормозит форум

Сообщение nissin »

Пусть 28, всё равно не больше 0.5 на процессор.
А iowait, кто же знает какая у них дисковая подсистема, может там DC SSD в RAID навороченном.
Всё повторяется. nurlan.info
Аватара пользователя
Niko Connor
phpBB 1.2.0
Сообщения: 17
Стаж: 7 лет 7 месяцев

Re: Тормозит форум

Сообщение Niko Connor »

Татьяна5 писал(а): Речь про встроенный в движок explain. Включите дебаг.
Спасибо :)

Вот этот запрос портит мне жизнь:

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

SELECT t.topic_id, t.topic_last_post_time, tt.mark_time as topic_mark_time, ft.mark_time as forum_mark_time FROM (phpbb_topics t) LEFT JOIN phpbb_topics_track tt ON (tt.user_id = 3555 AND t.topic_id = tt.topic_id) LEFT JOIN phpbb_forums_track ft ON (ft.user_id = 3555 AND t.forum_id = ft.forum_id) WHERE
t.topic_last_post_time > 1254415984 AND
(
(tt.mark_time IS NOT NULL AND t.topic_last_post_time > tt.mark_time) OR
(tt.mark_time IS NULL AND ft.mark_time IS NOT NULL AND t.topic_last_post_time > ft.mark_time) OR
(tt.mark_time IS NULL AND ft.mark_time IS NULL)
)
AND t.topic_moved_id = 0
AND (t.topic_visibility = 1 OR t.forum_id IN (1, 4, 5, 6, 9, 10, 12, 13, 15, 17, 18, 20, 21, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 38, 39, 40, 41, 42, 43, 44))
ORDER BY t.topic_last_post_time DESC
LIMIT 1001
Результат эксплейна прикрепляю картинкой. Честно говоря, не умею их читать - вроде по отдельности все поля понятны, а полезных выводов сделать не могу.

Отправлено спустя 2 минуты 39 секунд:
Кстати, есть еще запрос на целую секунду - и он тоже использует join. Из всего списка только два запроса с джойнами и оба отрабатывают заметно дольше, чем все остальные.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Mr. Anderson
phpBB Guru
phpBB Guru
Сообщения: 7522
Стаж: 20 лет 1 месяц
Откуда: СССР
Благодарил (а): 5 раз
Поблагодарили: 105 раз

Re: Тормозит форум

Сообщение Mr. Anderson »

nissin писал(а): не больше 0.5 на процессор
Ну если мерять среднюю температуру по больнице - наверное ;)
nissin писал(а): DC SSD в RAID
Все так, кабы не одно но...
Niko Connor писал(а): 11680 / 257851 Мб
Я ни на что не претендую, но если бы настраивал я, то это было бы показателем подхода к (скорее уже - перехода ЗА) границе... QoS чтоли ;) Знаешь правило девяти процентов? :)
А iowait я бы посмотрел все же :)

Отправлено спустя 1 минуту 31 секунду:
Niko Connor писал(а): и он тоже использует join
JOIN вообще тяжелая штука, да. Особенно, если с кешами/буферами под это дело никто не заморачивался (а чаще всего это именно так).
nissin писал(а): может там
Как видишь - не может ;)
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16369
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1745 раз

Re: Тормозит форум

Сообщение rxu »

На непрочитанных сообщениях запрос тяжеловат https://github.com/phpbb/phpbb/blob/mas ... 1108-L1133 и ищет 1001 результат, и это число можно только вручную в search.php в строке

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

$total_matches_limit = 1000;
Отправлено спустя 41 секунду:
Niko Connor писал(а): Вот этот запрос портит мне жизнь:
Сколько времени на него уходит?
Изображение
Аватара пользователя
Niko Connor
phpBB 1.2.0
Сообщения: 17
Стаж: 7 лет 7 месяцев

Re: Тормозит форум

Сообщение Niko Connor »

rxu писал(а): Сколько времени на него уходит?
Всего на генерацию страницы ушло 19.2755 секунд, выполнено 16 запросов.
На mysql: 19.21104, на PHP: 0.06443.
На проблемный запрос ушло 17.86503 секунд, еще на один с джойном - 1.34184, остальное время ровно распределилось по оставшимся.
Аватара пользователя
nissin
phpBB 3.0.4
Сообщения: 2209
Стаж: 16 лет 4 месяца
Откуда: Павлодар
Благодарил (а): 5 раз
Поблагодарили: 153 раза

Re: Тормозит форум

Сообщение nissin »

Проверьте в phpmyadmin есть ли у таблицы phpbb_topics индекс по полю topic_last_post_time.
Всё повторяется. nurlan.info

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