Страница 1 из 3
Высокая нагрузка от phpBB 3.3
Добавлено: 04.02.2020 12:11
Craftsman
Караул!!!
Что-то в новом 3.3.0 что-то явно нет так!
Обновил phpBB вчера вечером с версии 3.2.8, которая прекрасно работала, новый движок без проблем аккуратно обновился.
Но! С этого момента обнаружилось, что процессор стал жутко перегреваться, температура часто доходит до
90 градусов, так недалеко и до тротла!
Кулер процессора стал выть непрестанно, хотя раньше его не было слышно.
Причины оказались в том, что в новой версии phpBB обнаружился явно неоптимизированный запрос к MariaDB, в результе лог
mysql-slow.log стал непрерывно забиваться нижеследующими строками:
Код: Выделить всё
# Time: 200204 9:45:55
# User@Host: dbname_phpbb[dbname_phpbb] @ localhost []
# Thread_id: 1884567 Schema: dbname_phpbb QC_hit: No
# Query_time: 16.152308 Lock_time: 0.000060 Rows_sent: 30 Rows_examined: 304
SET timestamp=1580798755;
SELECT p.post_id
FROM phpbb_posts p
WHERE p.topic_id = 802466
AND ((p.post_visibility = 1) OR ((p.post_visibility = 0 OR p.post_visibility = 3) AND p.poster_id = 54241))
ORDER BY p.post_time ASC, p.post_id ASC
LIMIT 60, 30;
поэтому нагрузка на CPU и его температура резко возросла.
Как оптимизировать этот запрос?
Мой XEON в таком режиме долго не выдержит
Re: Сообщаем об ошибках phpBB 3.3.x разработчикам
Добавлено: 04.02.2020 12:29
Siava
Craftsman, я бы с починки кулера начал
Re: Сообщаем об ошибках phpBB 3.3.x разработчикам
Добавлено: 04.02.2020 12:39
Craftsman
Siava писал(а): ↑04.02.2020 12:29
Craftsman, я бы с починки кулера начал
Шутите, наверное
Но мне не до шуток, потому что этот запрос выполняется чрезвычайно долго, около 10-16 секунд, и лог
mysql-slow.log был практически пустой, так, по мелочам.
А теперь он забит, и это печальный факт
Вы же сами видите, что творится в Мюнине.
Вот, еще доказательства, что MariaDB стала перегружаться, хотя на предыдущей версии phpBB такого не было.
Как говорится, никогда такого не было, и вот опять
Re: Высокая нагрузка от phpBB 3.3
Добавлено: 04.02.2020 16:36
rxu
А попробуйте-ка отключить вот эту настройку и посмотрите, что будет (при просмотре тем). Смотреть под обычным юзером, не под гостем, не под администратором и не под модератором (не должно быть прав на одобрение сообщений/тем, и не в режиме проверки прав).
unapproved.png
На локалке запрос занимает мгновение.
Код: Выделить всё
QUERY #8
SELECT p.post_id
FROM phpbb_posts p
WHERE p.topic_id = 1
AND ((p.post_visibility = 1) OR ((p.post_visibility = 0 OR p.post_visibility = 3) AND p.poster_id = 2))
ORDER BY p.post_time ASC, p.post_id ASC
LIMIT 30 OFFSET 0
QUERY PLAN
Limit (cost=2.05..2.06 rows=1 width=8)
-> Sort (cost=2.05..2.06 rows=1 width=8)
Sort Key: post_time, post_id
-> Seq Scan on phpbb_posts p (cost=0.00..2.04 rows=1 width=8)
Filter: ((topic_id = 1) AND ((post_visibility = 1) OR (((post_visibility = 0) OR (post_visibility = 3)) AND (poster_id = 2))))
Before: 0.09336s | After: 0.09379s | Elapsed: 0.00043s
Да и здесь примерно аналогично. Может, с индексами таблицы posts проблемы? Или требуется оптимизация БД? Или SQL сервер не оптимизирован?
Re: Высокая нагрузка от phpBB 3.3
Добавлено: 04.02.2020 18:50
Craftsman
1. Отключил все расширения.
2. "А попробуйте-ка отключить вот эту настройку" - отключил.
Запрос не исчез, по-прежнему сыпится и накапливается в mysql-slow.log, и по-прежнему такой же длительный, доходит до 10-15 сек.
Может, с индексами таблицы posts проблемы?
Или требуется оптимизация БД?
Или SQL сервер не оптимизирован?
До установки 3.3.0 с ними было все нормально.
Re: Высокая нагрузка от phpBB 3.3
Добавлено: 04.02.2020 18:56
rxu
Craftsman писал(а): ↑04.02.2020 18:50
по-прежнему сыпится
С отключенной настройкой этот запрос ничем не отличается от того, что был в 3.2. Смотрите, что изменилось в конфигурации и настройках сервера.
Re: Высокая нагрузка от phpBB 3.3
Добавлено: 04.02.2020 19:03
Craftsman
rxu писал(а): ↑04.02.2020 18:56
Смотрите, что изменилось в конфигурации и настройках сервера.
Изменилась только версия - была 3.2.8, стала 3.3.0.
Причем установилась гладко, без малейших проблем.
Re: Высокая нагрузка от phpBB 3.3
Добавлено: 04.02.2020 19:10
rxu
Проверяйте, не требует ли оптимизации таблица phpbb_posts
, все ли индексы в таблице на месте.
Re: Высокая нагрузка от phpBB 3.3
Добавлено: 04.02.2020 19:13
Craftsman
А разве innodb нуждается в оптимизации? Это надо только для MyISAM, имхо
Re: Высокая нагрузка от phpBB 3.3
Добавлено: 04.02.2020 19:17
rxu
Ну нет - так нет.
Re: Высокая нагрузка от phpBB 3.3
Добавлено: 04.02.2020 19:30
Craftsman
Ок-ок, я оптимизирую innodb, но из-за большой базы она будет проходить долго, часа 3-4, а то может, и больше.
Давайте я сделаю это ночью, когда юзеры рассосутся, а то на посещаемости скажется.
Re: Высокая нагрузка от phpBB 3.3
Добавлено: 04.02.2020 19:57
rxu
Это как вам будет угодно. Я говорю о том, что подобного бага в 3.3 нет, он ни у кого не повторяется. Обсуждаемый SQL запрос по сравнению с версией 3.2 не поменялся. Сам по себе запрос элементарный и не может вызывать такой нагрузки беспричинно.
Код: Выделить всё
SELECT p.post_id FROM phpbb_posts p
WHERE p.topic_id = 1
AND (1 = 1)
ORDER BY p.post_time DESC, p.post_id DESC
LIMIT 60, 30
Поэтому имеет смысл посмотреть на то, как оптимизирован и работает SQL сервер. Например:
https://server-gu.ru/innodb_file_per_table/
http://code.openark.org/blog/mysql/how- ... e-followup
и т.д. Вариантов масса.
Re: Высокая нагрузка от phpBB 3.3
Добавлено: 05.02.2020 12:58
Balamut
Siava писал(а): ↑04.02.2020 12:29
Craftsman, я бы с починки кулера начал
А я бы начал с перехода на PostgreSQL.
При активном юзанье Gitea на Go, заметил, что MariaDB не всегда адекватно себя ведёт. Понимаю, что пыха - не гоу, но осадок остался.
То ли он украл, то ли у него, но...
Re: Высокая нагрузка от phpBB 3.3
Добавлено: 05.02.2020 13:29
Siava
Smayliks писал(а): ↑05.02.2020 12:58
А я бы начал с перехода на PostgreSQL.
Я конвертировал базу своего форума в Postgre. Не скажу, что доволен быстродействием. Да ты и сам в курсе
Re: Высокая нагрузка от phpBB 3.3
Добавлено: 05.02.2020 15:41
Craftsman
По поводу перегрузки процессора продолжаю разбираться.
Кое-что удалось выяснить, но не до конца.
О результатах отчитаюсь.
И еще сделаю безвозмездный подарок нашему сообществу
Отправлено спустя 1 час 56 минут 39 секунд:
Решил не тянуть с подарком,
ловите