Уважаемые пользователи!
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.2.x? Получите помощь здесь!
Внимание: с 7 ноября 2020 года phpBB Group завершено дальнейшее развитие phpBB версии 3.2, а с 1 августа 2024 года будет прекращена её поддержка.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.

Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB 3.1.x/3.2.x | FAQ | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
Miroslavs
phpBB 1.2.1
Сообщения: 29
Стаж: 6 лет 11 месяцев
Благодарил (а): 12 раз

Тормозит поиск

Сообщение Miroslavs »

Подскажите, что возможно сделать - тормозит поиск

Размер БД - 19 МБ
Поиск по одному слову - Time: 129.658s | Queries: 17 | Peak Memory Usage: 14.51 МБ
Просто страницы отрабатывают за Time: ~0.2s

Версия 3.2.0
MySQL(i) 5.5.52-MariaDB

Используется phpbb Navive FullText

Спасибо
Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 5280
Стаж: 19 лет 3 месяца
Откуда: Питер
Благодарил (а): 186 раз
Поблагодарили: 791 раз

Re: Тормозит поиск

Сообщение Siava »

Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb 2.0.x 3.5.x)
Аватара пользователя
Miroslavs
phpBB 1.2.1
Сообщения: 29
Стаж: 6 лет 11 месяцев
Благодарил (а): 12 раз

Re: Тормозит поиск

Сообщение Miroslavs »

Спасибо.

Может подскажите, что можно сделать с phpbb Navive FullText. На хостинге бегета отрабатывает за доли секунды, а на свежем сервере - за пару минут. Куда копать?
Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 5280
Стаж: 19 лет 3 месяца
Откуда: Питер
Благодарил (а): 186 раз
Поблагодарили: 791 раз

Re: Тормозит поиск

Сообщение Siava »

Miroslavs, копайте в сторону my.cnf и mysqltuner.pl :)
Только оптимизация файла настроек mysql вам поможет.
Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb 2.0.x 3.5.x)
Аватара пользователя
Miroslavs
phpBB 1.2.1
Сообщения: 29
Стаж: 6 лет 11 месяцев
Благодарил (а): 12 раз

Re: Тормозит поиск

Сообщение Miroslavs »

Спасибо! А есть совет, на что обратить внимание в первую очередь?
Аватара пользователя
Miroslavs
phpBB 1.2.1
Сообщения: 29
Стаж: 6 лет 11 месяцев
Благодарил (а): 12 раз

Re: Тормозит поиск

Сообщение Miroslavs »

Настроил my.cnf

innodb_buffer_pool_size 2048MБ
innodb_log_file_size 512МБ
innodb_log_buffer_size 2МБ
innodb_file_per_table ON
innodb_flush_method O_DIRECT
max_connections 256
max_allowed_packet 16МБ
key_buffer 16MБ
long_query_time 1
slow_query_log /var/log/mysql/mysql-slow.log
expire_logs_days 10
max_binlog_size 100M
innodb_flush_log_at_trx_commit 0

И ничего не поменялось, уже опускаются руки.

Отправлено спустя 13 минут 35 секунд:
Ну и при необработанном запросе, после второго запроса уже
221.jpg
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 5280
Стаж: 19 лет 3 месяца
Откуда: Питер
Благодарил (а): 186 раз
Поблагодарили: 791 раз

Re: Тормозит поиск

Сообщение Siava »

Miroslavs, а у вас таблицы базы в каком формате? InnoDB или MyISAM?
Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb 2.0.x 3.5.x)
Аватара пользователя
Miroslavs
phpBB 1.2.1
Сообщения: 29
Стаж: 6 лет 11 месяцев
Благодарил (а): 12 раз

Re: Тормозит поиск

Сообщение Miroslavs »

InnoDB
Аватара пользователя
Miroslavs
phpBB 1.2.1
Сообщения: 29
Стаж: 6 лет 11 месяцев
Благодарил (а): 12 раз

Re: Тормозит поиск

Сообщение Miroslavs »

Мне кажется это не БД.
Лог словли файлов:

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

 cat /var/log/mysql/mysql-slow.log
/usr/libexec/mysqld, Version: 5.5.52-MariaDB (MariaDB Server). started with:
Tcp port: 0  Unix socket: /var/lib/mysql/mysql.sock
Time                 Id Command    Argument
# Time: 170627 17:25:07
# User@Host: phpbb_user[phpbb_user] @ localhost []
# Thread_id: 934  Schema: phpbb_data  QC_hit: No
# Query_time: 1.198698  Lock_time: 0.000109  Rows_sent: 0  Rows_examined: 357480
use phpbb_data;
SET timestamp=1498573507;
SELECT a.forum_id, ug.user_id, g.group_id FROM (phpbb_acl_options o CROSS JOIN phpbb_user_group ug CROSS JOIN p                                                                                                                       hpbb_groups g CROSS JOIN phpbb_acl_groups a) LEFT JOIN phpbb_acl_roles_data r ON (a.auth_role_id = r.role_id) W                                                                                                                       HERE (o.auth_option_id = a.auth_option_id OR o.auth_option_id = r.auth_option_id)
                                AND ((a.auth_setting = 0 AND r.auth_setting IS NULL)
                                        OR r.auth_setting = 0)
                                AND a.group_id = ug.group_id
                                AND g.group_id = ug.group_id
                                AND NOT (ug.group_leader = 1 AND g.group_skip_auth = 1)
                                AND ug.user_id IN (66, 69, 70, 86, 80, 74, 81, 85, 75, 78)
                                AND ug.user_pending = 0
                                AND o.auth_option LIKE 'm\\_%';
# User@Host: phpbb_user[phpbb_user] @ localhost []
# Thread_id: 936  Schema: phpbb_data  QC_hit: No
# Query_time: 1.269486  Lock_time: 0.000107  Rows_sent: 0  Rows_examined: 357480
SET timestamp=1498573507;
SELECT a.forum_id, ug.user_id, g.group_id FROM (phpbb_acl_options o CROSS JOIN phpbb_user_group ug CROSS JOIN p                                                                                                                       hpbb_groups g CROSS JOIN phpbb_acl_groups a) LEFT JOIN phpbb_acl_roles_data r ON (a.auth_role_id = r.role_id) W                                                                                                                       HERE (o.auth_option_id = a.auth_option_id OR o.auth_option_id = r.auth_option_id)
                                AND ((a.auth_setting = 0 AND r.auth_setting IS NULL)
                                        OR r.auth_setting = 0)
                                AND a.group_id = ug.group_id
                                AND g.group_id = ug.group_id
                                AND NOT (ug.group_leader = 1 AND g.group_skip_auth = 1)
                                AND ug.user_id IN (69, 66, 70, 86, 80, 74, 81, 85, 75, 78)
                                AND ug.user_pending = 0
                                AND o.auth_option LIKE 'm\\_%';
# User@Host: phpbb_user[phpbb_user] @ localhost []
# Thread_id: 935  Schema: phpbb_data  QC_hit: No
# Query_time: 1.160990  Lock_time: 0.000156  Rows_sent: 0  Rows_examined: 357480
SET timestamp=1498573507;
SELECT a.forum_id, ug.user_id, g.group_id FROM (phpbb_acl_options o CROSS JOIN phpbb_user_group ug CROSS JOIN p                                                                                                                       hpbb_groups g CROSS JOIN phpbb_acl_groups a) LEFT JOIN phpbb_acl_roles_data r ON (a.auth_role_id = r.role_id) W                                                                                                                       HERE (o.auth_option_id = a.auth_option_id OR o.auth_option_id = r.auth_option_id)
                                AND ((a.auth_setting = 0 AND r.auth_setting IS NULL)
                                        OR r.auth_setting = 0)
                                AND a.group_id = ug.group_id
                                AND g.group_id = ug.group_id
                                AND NOT (ug.group_leader = 1 AND g.group_skip_auth = 1)
                                AND ug.user_id IN (69, 66, 70, 86, 80, 74, 81, 85, 75, 78)
                                AND ug.user_pending = 0
                                AND o.auth_option LIKE 'm\\_%';
# Time: 170627 17:26:29
# User@Host: phpbb_user[phpbb_user] @ localhost []
# Thread_id: 957  Schema: phpbb_data  QC_hit: No
# Query_time: 1.174864  Lock_time: 0.000106  Rows_sent: 0  Rows_examined: 357480
SET timestamp=1498573589;
SELECT a.forum_id, ug.user_id, g.group_id FROM (phpbb_acl_options o CROSS JOIN phpbb_user_group ug CROSS JOIN p                                                                                                                       hpbb_groups g CROSS JOIN phpbb_acl_groups a) LEFT JOIN phpbb_acl_roles_data r ON (a.auth_role_id = r.role_id) W                                                                                                                       HERE (o.auth_option_id = a.auth_option_id OR o.auth_option_id = r.auth_option_id)
                                AND ((a.auth_setting = 0 AND r.auth_setting IS NULL)
                                        OR r.auth_setting = 0)
                                AND a.group_id = ug.group_id
                                AND g.group_id = ug.group_id
                                AND NOT (ug.group_leader = 1 AND g.group_skip_auth = 1)
                                AND ug.user_id IN (66, 69, 70, 86, 80, 74, 81, 85, 75, 78)
                                AND ug.user_pending = 0
                                AND o.auth_option LIKE 'm\\_%';
# User@Host: phpbb_user[phpbb_user] @ localhost []
# Thread_id: 958  Schema: phpbb_data  QC_hit: No
# Query_time: 1.109278  Lock_time: 0.000117  Rows_sent: 0  Rows_examined: 357480
SET timestamp=1498573589;
SELECT a.forum_id, ug.user_id, g.group_id FROM (phpbb_acl_options o CROSS JOIN phpbb_user_group ug CROSS JOIN p                                                                                                                       hpbb_groups g CROSS JOIN phpbb_acl_groups a) LEFT JOIN phpbb_acl_roles_data r ON (a.auth_role_id = r.role_id) W                                                                                                                       HERE (o.auth_option_id = a.auth_option_id OR o.auth_option_id = r.auth_option_id)
                                AND ((a.auth_setting = 0 AND r.auth_setting IS NULL)
                                        OR r.auth_setting = 0)
                                AND a.group_id = ug.group_id
                                AND g.group_id = ug.group_id
                                AND NOT (ug.group_leader = 1 AND g.group_skip_auth = 1)
                                AND ug.user_id IN (69, 66, 70, 86, 80, 74, 81, 85, 75, 78)
                                AND ug.user_pending = 0
                                AND o.auth_option LIKE 'm\\_%';
# User@Host: phpbb_user[phpbb_user] @ localhost []
# Thread_id: 959  Schema: phpbb_data  QC_hit: No
# Query_time: 1.195805  Lock_time: 0.000127  Rows_sent: 0  Rows_examined: 357480
SET timestamp=1498573589;
SELECT a.forum_id, ug.user_id, g.group_id FROM (phpbb_acl_options o CROSS JOIN phpbb_user_group ug CROSS JOIN p                                                                                                                       hpbb_groups g CROSS JOIN phpbb_acl_groups a) LEFT JOIN phpbb_acl_roles_data r ON (a.auth_role_id = r.role_id) W                                                                                                                       HERE (o.auth_option_id = a.auth_option_id OR o.auth_option_id = r.auth_option_id)
                                AND ((a.auth_setting = 0 AND r.auth_setting IS NULL)
                                        OR r.auth_setting = 0)
                                AND a.group_id = ug.group_id
                                AND g.group_id = ug.group_id
                                AND NOT (ug.group_leader = 1 AND g.group_skip_auth = 1)
                                AND ug.user_id IN (66, 69, 70, 86, 80, 74, 81, 85, 75, 78)
                                AND ug.user_pending = 0
                                AND o.auth_option LIKE 'm\\_%';
[root@retail ekorzhenko]# cat /var/log/mysql/mysql-slow.log
/usr/libexec/mysqld, Version: 5.5.52-MariaDB (MariaDB Server). started with:
Tcp port: 0  Unix socket: /var/lib/mysql/mysql.sock
Time                 Id Command    Argument
# Time: 170627 17:25:07
# User@Host: phpbb_user[phpbb_user] @ localhost []
# Thread_id: 934  Schema: phpbb_data  QC_hit: No
# Query_time: 1.198698  Lock_time: 0.000109  Rows_sent: 0  Rows_examined: 357480
use phpbb_data;
SET timestamp=1498573507;
SELECT a.forum_id, ug.user_id, g.group_id FROM (phpbb_acl_options o CROSS JOIN phpbb_user_group ug CROSS JOIN phpbb_groups g CROSS JOIN phpbb_acl_groups a) LEFT JOIN phpbb_acl_roles_data r ON (a.auth_role_id = r.role_id) WHERE (o.auth_option_id = a.auth_option_id OR o.auth_option_id = r.auth_option_id)
                                AND ((a.auth_setting = 0 AND r.auth_setting IS NULL)
                                        OR r.auth_setting = 0)
                                AND a.group_id = ug.group_id
                                AND g.group_id = ug.group_id
                                AND NOT (ug.group_leader = 1 AND g.group_skip_auth = 1)
                                AND ug.user_id IN (66, 69, 70, 86, 80, 74, 81, 85, 75, 78)
                                AND ug.user_pending = 0
                                AND o.auth_option LIKE 'm\\_%';
# User@Host: phpbb_user[phpbb_user] @ localhost []
# Thread_id: 936  Schema: phpbb_data  QC_hit: No
# Query_time: 1.269486  Lock_time: 0.000107  Rows_sent: 0  Rows_examined: 357480
SET timestamp=1498573507;
SELECT a.forum_id, ug.user_id, g.group_id FROM (phpbb_acl_options o CROSS JOIN phpbb_user_group ug CROSS JOIN phpbb_groups g CROSS JOIN phpbb_acl_groups a) LEFT JOIN phpbb_acl_roles_data r ON (a.auth_role_id = r.role_id) WHERE (o.auth_option_id = a.auth_option_id OR o.auth_option_id = r.auth_option_id)
                                AND ((a.auth_setting = 0 AND r.auth_setting IS NULL)
                                        OR r.auth_setting = 0)
                                AND a.group_id = ug.group_id
                                AND g.group_id = ug.group_id
                                AND NOT (ug.group_leader = 1 AND g.group_skip_auth = 1)
                                AND ug.user_id IN (69, 66, 70, 86, 80, 74, 81, 85, 75, 78)
                                AND ug.user_pending = 0
                                AND o.auth_option LIKE 'm\\_%';
# User@Host: phpbb_user[phpbb_user] @ localhost []
# Thread_id: 935  Schema: phpbb_data  QC_hit: No
# Query_time: 1.160990  Lock_time: 0.000156  Rows_sent: 0  Rows_examined: 357480
SET timestamp=1498573507;
SELECT a.forum_id, ug.user_id, g.group_id FROM (phpbb_acl_options o CROSS JOIN phpbb_user_group ug CROSS JOIN phpbb_groups g CROSS JOIN phpbb_acl_groups a) LEFT JOIN phpbb_acl_roles_data r ON (a.auth_role_id = r.role_id) WHERE (o.auth_option_id = a.auth_option_id OR o.auth_option_id = r.auth_option_id)
                                AND ((a.auth_setting = 0 AND r.auth_setting IS NULL)
                                        OR r.auth_setting = 0)
                                AND a.group_id = ug.group_id
                                AND g.group_id = ug.group_id
                                AND NOT (ug.group_leader = 1 AND g.group_skip_auth = 1)
                                AND ug.user_id IN (69, 66, 70, 86, 80, 74, 81, 85, 75, 78)
                                AND ug.user_pending = 0
                                AND o.auth_option LIKE 'm\\_%';
# Time: 170627 17:26:29
# User@Host: phpbb_user[phpbb_user] @ localhost []
# Thread_id: 957  Schema: phpbb_data  QC_hit: No
# Query_time: 1.174864  Lock_time: 0.000106  Rows_sent: 0  Rows_examined: 357480
SET timestamp=1498573589;
SELECT a.forum_id, ug.user_id, g.group_id FROM (phpbb_acl_options o CROSS JOIN phpbb_user_group ug CROSS JOIN phpbb_groups g CROSS JOIN phpbb_acl_groups a) LEFT JOIN phpbb_acl_roles_data r ON (a.auth_role_id = r.role_id) WHERE (o.auth_option_id = a.auth_option_id OR o.auth_option_id = r.auth_option_id)
                                AND ((a.auth_setting = 0 AND r.auth_setting IS NULL)
                                        OR r.auth_setting = 0)
                                AND a.group_id = ug.group_id
                                AND g.group_id = ug.group_id
                                AND NOT (ug.group_leader = 1 AND g.group_skip_auth = 1)
                                AND ug.user_id IN (66, 69, 70, 86, 80, 74, 81, 85, 75, 78)
                                AND ug.user_pending = 0
                                AND o.auth_option LIKE 'm\\_%';
# User@Host: phpbb_user[phpbb_user] @ localhost []
# Thread_id: 958  Schema: phpbb_data  QC_hit: No
# Query_time: 1.109278  Lock_time: 0.000117  Rows_sent: 0  Rows_examined: 357480
SET timestamp=1498573589;
SELECT a.forum_id, ug.user_id, g.group_id FROM (phpbb_acl_options o CROSS JOIN phpbb_user_group ug CROSS JOIN phpbb_groups g CROSS JOIN phpbb_acl_groups a) LEFT JOIN phpbb_acl_roles_data r ON (a.auth_role_id = r.role_id) WHERE (o.auth_option_id = a.auth_option_id OR o.auth_option_id = r.auth_option_id)
                                AND ((a.auth_setting = 0 AND r.auth_setting IS NULL)
                                        OR r.auth_setting = 0)
                                AND a.group_id = ug.group_id
                                AND g.group_id = ug.group_id
                                AND NOT (ug.group_leader = 1 AND g.group_skip_auth = 1)
                                AND ug.user_id IN (69, 66, 70, 86, 80, 74, 81, 85, 75, 78)
                                AND ug.user_pending = 0
                                AND o.auth_option LIKE 'm\\_%';
# User@Host: phpbb_user[phpbb_user] @ localhost []
# Thread_id: 959  Schema: phpbb_data  QC_hit: No
# Query_time: 1.195805  Lock_time: 0.000127  Rows_sent: 0  Rows_examined: 357480
SET timestamp=1498573589;
SELECT a.forum_id, ug.user_id, g.group_id FROM (phpbb_acl_options o CROSS JOIN phpbb_user_group ug CROSS JOIN phpbb_groups g CROSS JOIN phpbb_acl_groups a) LEFT JOIN phpbb_acl_roles_data r ON (a.auth_role_id = r.role_id) WHERE (o.auth_option_id = a.auth_option_id OR o.auth_option_id = r.auth_option_id)
                                AND ((a.auth_setting = 0 AND r.auth_setting IS NULL)
                                        OR r.auth_setting = 0)
                                AND a.group_id = ug.group_id
                                AND g.group_id = ug.group_id
                                AND NOT (ug.group_leader = 1 AND g.group_skip_auth = 1)
                                AND ug.user_id IN (66, 69, 70, 86, 80, 74, 81, 85, 75, 78)
                                AND ug.user_pending = 0
                                AND o.auth_option LIKE 'm\\_%';
Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 5280
Стаж: 19 лет 3 месяца
Откуда: Питер
Благодарил (а): 186 раз
Поблагодарили: 791 раз

Re: Тормозит поиск

Сообщение Siava »

Miroslavs, а что у вас в админке > конфигурация сервера > нагрузка на сервер?
Интересует параметр "Ограничить нагрузку на сервер:"

Если значение отличное от 0, то попробуйте поставить 0.
Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb 2.0.x 3.5.x)
Аватара пользователя
Miroslavs
phpBB 1.2.1
Сообщения: 29
Стаж: 6 лет 11 месяцев
Благодарил (а): 12 раз

Re: Тормозит поиск

Сообщение Miroslavs »

И ноль пробовал, и 1 пробовал. Мне кажется что-то внешне ограничивает. И судя по всему не MySQL
Аватара пользователя
Kuskow
phpBB 1.4.4
Сообщения: 160
Стаж: 7 лет 10 месяцев
Откуда: Караганда
Благодарил (а): 25 раз
Поблагодарили: 15 раз

Re: Тормозит поиск

Сообщение Kuskow »

А чего бы куда-нибудь добавить, чтоб одна конкретная тема (или все темы одного конкретного раздела) не появлялась в результатах поиска типа "Ваши сообщения", "Новые сообщения", "Непрочитанные сообщения", "Темы без ответов", "Активные темы"? Чтобы войти в эту тему можно было только из оглавления форума или из уведомления. То есть, чтобы в неё не заходили люди, которым она случайно попалась на глаза в списке других тем.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16359
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1742 раза

Re: Тормозит поиск

Сообщение rxu »

Kuskow писал(а): 10.03.2023 11:30 (или все темы одного конкретного раздела) не появлялась в результатах поиска
image.png
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Изображение
Аватара пользователя
Kuskow
phpBB 1.4.4
Сообщения: 160
Стаж: 7 лет 10 месяцев
Откуда: Караганда
Благодарил (а): 25 раз
Поблагодарили: 15 раз

Re: Тормозит поиск

Сообщение Kuskow »

rxu, Спасибо, это я нашёл тоже, но это совсем не то. В Вашем примере идёт речь о создании поискового индекса по словам. И тогда нельзя будет искать какое-то слово внутри этой темы.
А мне надо, чтобы тема не появлялась в списках "Непрочитанные сообщения" search.php?search_id=unreadposts
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16359
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1742 раза

Re: Тормозит поиск

Сообщение rxu »

Kuskow, тогда штатно никак. Только расширением или правкой кода ядра.
Изображение

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