Уважаемые пользователи!
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 Guru
- Сообщения: 7522
- Стаж: 20 лет 1 месяц
- Откуда: СССР
- Благодарил (а): 5 раз
- Поблагодарили: 105 раз
Erlang
Зато поиск пострадает
Зато поиск пострадает
Правила конференции (30.05.2011) | Общие ошибки новичков (07.11.2005) | Шаблон запроса | FAQ (phpBB 3.0.x) / Мини [FAQ] по phpBB 3.1.x
Последние и единственно актуальные на сегодня версии - 3.1.12 и 3.2.2!
Небесплатно накачаю ваш VPS/VDS/DS стероидами и заставлю ваши CMS летать =)
phpBB Guru blog | Тестируем phpBB 3.3 здесь! |
Последние и единственно актуальные на сегодня версии - 3.1.12 и 3.2.2!
Небесплатно накачаю ваш VPS/VDS/DS стероидами и заставлю ваши CMS летать =)
phpBB Guru blog | Тестируем phpBB 3.3 здесь! |
-
- phpBB 1.4.2
- Сообщения: 55
- Стаж: 19 лет 2 месяца
- Откуда: Восточное Дегунино, Москва, Россия
- Благодарил (а): 2 раза
Практика показывает, что если удалить поисковые таблицы, то выигрыш в размере базы может быть в 2.5 раза. Действительно, поиск по словам тогда станет невозможен.
Житель района Восточное Дегунино (Москва, Россия)
-
- phpBB 1.0.0
- Сообщения: 3
- Стаж: 19 лет
Как уменьшить размер базы?
База уже 12Mb.
Произвел чистку форума, удалил много тем и сообщений, а размер практически не уменьшился.
Произвел чистку форума, удалил много тем и сообщений, а размер практически не уменьшился.
-
- Former team member
- Сообщения: 955
- Стаж: 19 лет 3 месяца
- Откуда: Москва
eXtraLight Backup
http://www.phpbbguru.net/community/viewtopic.php?t=86
пригодится также "Тюним поиск"
http://www.phpbbguru.net/community/viewtopic.php?t=2134
http://www.phpbbguru.net/community/viewtopic.php?t=86
пригодится также "Тюним поиск"
http://www.phpbbguru.net/community/viewtopic.php?t=2134
-
- Former team member
- Сообщения: 955
- Стаж: 19 лет 3 месяца
- Откуда: Москва
Да, на тему лички пригодится Admin Private Message Manager. Можно будет поместить всю личку прочитанную в архив или вообще удалить.
-
- Former team member
- Сообщения: 955
- Стаж: 19 лет 3 месяца
- Откуда: Москва
-
- phpBB 2.0.5
- Сообщения: 477
- Стаж: 20 лет
Это еще цветочки ...База уже 12Mb.
Как-то занимался проблемой уменьшения поисковых таблиц в phpBB, и сделал некоторые выводы.
Мое мнение, что поиск в phpBB ужасно глючный и пожирающий ресурсы сервера.
Поделюсь некоторыми приемамми, как можно облегчить базу, без ущерба для поиска.
Поисковые таблицы растут как на дрожжах, и через некоторое время, занимают больше половины базы.
Один из глюков, это то, что в таблицы всетаки пролазят "запрещенные" слова, например одно- и двухсимвольные.
Почему - трудно сказать, пускай разработчики и поддержка этим занимается.
Итак, первое - удаляем эти "запрещенные" для индексирования слова.
Делается все с помощью нижеследующего SQL-запроса, например через phpMyAdmin.
Если префикс таблиц другой, измените!
Код: Выделить всё
DELETE FROM phpbb_search_wordmatch,phpbb_search_wordlist
USING phpbb_search_wordmatch,phpbb_search_wordlist
WHERE phpbb_search_wordmatch.word_id = phpbb_search_wordlist.word_id
AND ( length(phpbb_search_wordlist.word_text) < 3
OR length(phpbb_search_wordlist.word_text) > 20);
Результат увидите сами ...
Продолжу позже ...
-
- phpBB 1.4.4
- Сообщения: 103
- Стаж: 19 лет 10 месяцев
-
- Поддержка
- Сообщения: 5284
- Стаж: 19 лет 3 месяца
- Откуда: Питер
- Благодарил (а): 186 раз
- Поблагодарили: 793 раза
У меня сейчас размер БД форума (который в локалке) 102.9 MB, из них phpbb_search_wordlist 9.0 MB и phpbb_search_wordmatch 49.6 MB, а phpbb_posts_text 25.1 MB, всё остальное до 1Мб
Чистка ЛС мало что даёт.. тормозов не наблюдаю (разве что от обилия посетителей).
Чистка ЛС мало что даёт.. тормозов не наблюдаю (разве что от обилия посетителей).
Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb2.0.x 3.5.x)
Ты очистил кеш? © Sheer
https://siava.ru (phpbb
-
- phpBB 2.0.5
- Сообщения: 477
- Стаж: 20 лет
romutis, для тебе для уменьшения своей поисковой таблицы, можно немного "кастрировать" поиск - удалить чатоиспользуемые неинформативные слова.
Найти их можно, например таким запросом:
Удалить их можно скриптом, предварительно внеся в search_stopwords.txt
Скрипт:
Кроме того, можно удалить "несуществующие" слова - те в которых используется повторяющиеся символы, например пишут "ooops", "yeees"
То есть, насториить на повторяющиеся ...
Добавлено спустя 4 минуты 21 секунду:
У кого проблемы с локалью, могут влетать слова в разных регистрах, например "слово" и "СЛОВО" - из-за этого будет увеличена таблица search_wordlist
Найти их можно, например таким запросом:
Код: Выделить всё
SELECT ls.word_id, ls.word_text, COUNT(wm.word_id) as entries FROM `phpbb_search_wordlist` as ls LEFT JOIN `phpbb_search_wordmatch` as wm ON ls.word_id=wm.word_id GROUP BY wm.word_id ORDER BY entries DESC LIMIT 0,50
Скрипт:
Код: Выделить всё
<?php
//***** reduce_my_searchtables_with_stopwords.php ****//
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
include($phpbb_root_path . 'includes/functions_search.'.$phpEx);
// Start session management
$userdata = session_pagestart($user_ip, PAGE_SEARCH);
init_userprefs($userdata);
// End session management
$stopwords_array = file($phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . "/search_stopwords.txt");
$liste='';
foreach($stopwords_array as $curr_word)
{
$liste .= ( ( $liste != '' ) ? ', ' : '' ) ."'".trim($curr_word)."'";
}
$sql = "SELECT word_id
FROM " . SEARCH_WORD_TABLE . "
WHERE word_text IN ($liste)";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not obtain common word list', '', __LINE__, __FILE__, $sql);
}
$common_word_id = '';
while ( $row = $db->sql_fetchrow($result) )
{
$common_word_id .= ( ( $common_word_id != '' ) ? ', ' : '' ) . $row['word_id'];
}
if ($common_word_id=='') message_die(GENERAL_ERROR,'None of the words in the list are in your search_tables.<br>Note: This could also mean the list is empty ;)');
//echo '>'.trim($curr_word)."<<br>";
//echo $liste .'<br>'. $common_word_id;
//exit;
$sql = "DELETE FROM " . SEARCH_WORD_TABLE . "
WHERE word_id IN ($common_word_id)";
if ( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not delete word match entry', '', __LINE__, __FILE__, $sql);
}
$sql = "OPTIMIZE TABLE " . SEARCH_WORD_TABLE;
if ( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not optimize', '', __LINE__, __FILE__, $sql);
}
$sql = "DELETE FROM " . SEARCH_MATCH_TABLE . "
WHERE word_id IN ($common_word_id)";
if ( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not delete word match entry', '', __LINE__, __FILE__, $sql);
}
$sql = "OPTIMIZE TABLE " . SEARCH_MATCH_TABLE;
if ( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not pütimize', '', __LINE__, __FILE__, $sql);
}
message_die(GENERAL_MESSAGE,'<b>Done!</b><br><br>The following list-entries have been removed from your searchtables:'.$liste);
//echo $liste .'<br>'. $common_word_id;
?>
То есть, насториить на повторяющиеся ...
Добавлено спустя 4 минуты 21 секунду:
У кого проблемы с локалью, могут влетать слова в разных регистрах, например "слово" и "СЛОВО" - из-за этого будет увеличена таблица search_wordlist
-
- phpBB 1.4.4
- Сообщения: 103
- Стаж: 19 лет 10 месяцев
Jovani
Ну нашел этот запрос, что некоторые слова имеют ссылки с 90 000 сообщений (остальные из первых пятидесяти слов имеют не менее 60 000 ссылок на сообщения). И что? Слов из стоп-листов там нету, более того подавляющее большинство напрямую относится к тематике форума - никакого смысла нет выкидывать ключевые слова.
Проблем с локалью нету - т.е. одинаковых слов в разных регистрах не наблюдается. Можно, конечно и дальше курочить функцию внесения поисковых слов при создании сообщения - но мне кажется, что и здесь нужен какой-то разумный компромисс. Если в результате усложнения процесса фильтрации поисковых слов снизится скорость добавления нового сообщения - это не есть гуд. Я посчитал, что у меня на форуме в среднем пишется одно сообщение в 40 секунд - замедление процесса добавления нового сообщения может серьёзно напрячь базу данных.
Пусть уж лучше будет таблица поисковых слов размером в 700МБ - это не так страшно.
Ну нашел этот запрос, что некоторые слова имеют ссылки с 90 000 сообщений (остальные из первых пятидесяти слов имеют не менее 60 000 ссылок на сообщения). И что? Слов из стоп-листов там нету, более того подавляющее большинство напрямую относится к тематике форума - никакого смысла нет выкидывать ключевые слова.
Проблем с локалью нету - т.е. одинаковых слов в разных регистрах не наблюдается. Можно, конечно и дальше курочить функцию внесения поисковых слов при создании сообщения - но мне кажется, что и здесь нужен какой-то разумный компромисс. Если в результате усложнения процесса фильтрации поисковых слов снизится скорость добавления нового сообщения - это не есть гуд. Я посчитал, что у меня на форуме в среднем пишется одно сообщение в 40 секунд - замедление процесса добавления нового сообщения может серьёзно напрячь базу данных.
Пусть уж лучше будет таблица поисковых слов размером в 700МБ - это не так страшно.
// romutis
-
- phpBB 2.0.5
- Сообщения: 477
- Стаж: 20 лет
Угу. Если только ты не боишься, что тебя через эту таблицу заDDOS-ят ...Пусть уж лучше будет таблица поисковых слов размером в 700МБ - это не так страшно
Я с этим столкнулся. Сам сейчас не знаю что делать ....
Ну и не забыл про "припарки" в виде отключения от индексации некоторых форумов, например такое(пишу по памяти):
Открыть includes/functions_post.php, найти:
Код: Выделить всё
add_search_words ...
Код: Выделить всё
if (($forum_id != 1) and ($forum_id != 20))
{
add_search_words ...
}