1. На старых версиях 3.2.x тоже возникла проблема с перегрузкой CPU (и помнится, на диск тоже).
Хотя она был не столь сильная, как теперь в 3.3.0.
На официальном форуме phpBB кто-то посоветовал как временное решение установить дополнительный индекс к таблице phpbb_posts, и это тогда действительно сняло проблему, перегрузка CPU полностью исчезла -
2. Однако после апдейта 3.2.8 до 3.3.0 перегрузка возникла снова, только на этот раз во много раз сильнее.
Прегрузка была вызвана очень длительным запросом 10-15 секунд.
Вспомнив о дополнительном индексе, удалил его.
Нагрузка на CPU уменьшилась, но не до конца, потому что появилась новая перегрузка, но другая -
- на этот раз сильно перегружается диск, если смотреть его с помощью iotop.
Как дальше выяснилось, перегрузка диска в этотраз вызывается другими длинными 2-мя запросами, достигающими до 30 секунд, которые прикладываю в спойлере -
Код: Выделить всё
# Time: 200207 14:02:57
# User@Host: db_phpbb[db_phpbb] @ localhost []
# Thread_id: 1007369 Schema: db_phpbb QC_hit: No
# Query_time: 29.005237 Lock_time: 0.000044 Rows_sent: 30 Rows_examined: 100825
SET timestamp=1581073377;
SELECT p.post_id
FROM phpbb_posts p
WHERE p.topic_id = 638997
AND ((p.post_visibility = 1))
ORDER BY p.post_time ASC, p.post_id ASC
LIMIT 28650, 30;
# Time: 200207 14:04:02
# User@Host: db_phpbb[db_phpbb] @ localhost []
# Thread_id: 1008190 Schema: db_phpbb QC_hit: No
# Query_time: 13.359848 Lock_time: 0.000030 Rows_sent: 30 Rows_examined: 47575
SET timestamp=1581073442;
SELECT p.post_id
FROM phpbb_posts p
WHERE p.topic_id = 794650
AND ((p.post_visibility = 1))
ORDER BY p.post_time ASC, p.post_id ASC
LIMIT 13110, 30;
# Time: 200207 14:04:31
# User@Host: db_phpbb[db_phpbb] @ localhost []
# Thread_id: 1008488 Schema: db_phpbb QC_hit: No
# Query_time: 11.302361 Lock_time: 0.000037 Rows_sent: 1 Rows_examined: 6223
SET timestamp=1581073471;
SELECT COUNT(p.post_id) AS prev_posts
FROM phpbb_posts p
WHERE p.topic_id = 829408
AND ((p.post_visibility = 1)) AND (p.post_time < 1578314160 OR (p.post_time = 1578314160 AND p.post_id <= 33218300));
# Time: 200207 14:04:35
# User@Host: db_phpbb[db_phpbb] @ localhost []
# Thread_id: 1008381 Schema: db_phpbb QC_hit: No
# Query_time: 29.161335 Lock_time: 0.000028 Rows_sent: 1 Rows_examined: 12759
SET timestamp=1581073475;
SELECT COUNT(p.post_id) AS prev_posts
FROM phpbb_posts p
WHERE p.topic_id = 301895
AND ((p.post_visibility = 1)) AND (p.post_time < 1559823060 OR (p.post_time = 1559823060 AND p.post_id <= 32422686));
# Time: 200207 14:04:37
# User@Host: db_phpbb[db_phpbb] @ localhost []
# Thread_id: 1008526 Schema: db_phpbb QC_hit: No
# Query_time: 11.532666 Lock_time: 0.000036 Rows_sent: 30 Rows_examined: 3461
SET timestamp=1581073477;
SELECT p.post_id
FROM phpbb_posts p
WHERE p.topic_id = 274173
AND ((p.post_visibility = 1) OR ((p.post_visibility = 0 OR p.post_visibility = 3) AND p.poster_id = 17))
ORDER BY p.post_time DESC, p.post_id DESC
LIMIT 3431, 30;