 |
|
С 27 марта открыт новый форум. Текущий теперь является архивным. Возможности добавления топиков и ответов отсутствуют.
| Модуль поиска и лимиты хостера SWEB | AleksejVL 21.01.2006 17:45 |
При запуске индексации сайта построенного на NetCat 2.3 Standart через некоторое время сайт умирает из за превышения скриптом ограничений накладываемых хостером по нагрузке на MySQL
колличество запросов к БД в час (max_questions) = 28800
колличество соединений с БД (max_user_connections) = 40
Хостер посоветовал выполнять задачу частями :(
Каким образом можно решить возникшую проблему?
Модуль поиска умирает после индексации приблизительно 1000-1100 страниц ....
MipH 22.01.2006 14:25
Поменять хостера...
или же своими силами переписать скрипт
law 22.01.2006 19:12
Не, ну так не честно :)))
Sweb.RU у вас даже в рекомендованных площадках числится и тарифчик там не хилый "профи" куплен еще на год вперед почти ....
Значит основная проблема в том, что не удается запретить индексацию двух каталогов /forum (в котором живет phpBB) и /search в котором живет тоже сторонний скриптец с огромным количеством страниц....
Если на время индексации шелом меняю пермишенсы на дирки forum и search на 000 то индексация завершается успешно ( там всего около 600 страниц получается), а вот вместе с теми вредными разделами ждал до 25000 не дождался - плюнул...
MipH 22.01.2006 19:20
В документации описана переменная из настроек модуля,которая запрешает индексировать определенный страницы.
law 03.02.2006 19:19
Дык естественно использовал эту переменную, но с разных страниц сайта есть ссылки внутрь этих каталогов и все ... пипец, понеслась индексация...
DiGGy 17.02.2006 15:39
Не бойтесь менять движок, а особенно Ваши модули!!! Ваше счастье в Ваших руках!!! Давайте выполним задачу частями!!!!
1. Необходимо разделить сайт на несколько групп по объему данных, например, форум, доска объявлений, портфолио и прочие... т.е. 4 группы. Терь в настройки модуля добавьте переменную, которая описывала бы эти 4 группы и указывала бы начальный урл для индексации, типа:
cool_search[1] = "/forum/";
cool_search[2] = "/doska/";
cool_search[3] = "/portfolio/";
cool_search[4] = "/others/";
2. При индексации сайта данные заливаются в обычный шаблон (табличка Message{$INDEX_TABLE}), причем в поле Created сохраняется дата добавления записи! Значит лишних полей добавлять в шаблон не надо :) У Вас есть 4 группы - значит каждые 6 часов мона индексировать определенную из них. Лезем в движок модуля cron.php:
меняем строку
mysql_query("DELETE FROM Message${index_table}",$LinkID);
на
mysql_query("DELETE FROM Message${index_table} where Created<=NOW() минус 24 часа :)",$LinkID); // время сами думайте какое ставить...
после чего переопределяем переменную $url = "http://".$MODULE_VARS['search']['cool_search'][1];
3. Настраиваем в кроне запуск скрипта индексации 4 раза в сутки, каждые 6 часов...
==========================================
Сразу скажу, это только моя идея и мое предложение решения данного вопроса... данное решение Я даже не тестировал :) ... на счет переделки движка модуля - может не все нюансы с ходу смог учесть... думаю идея ясна - дальше сами дерзайте, если сделать не в состоянии - пишите - за очень много рублей сделаю Вам скриптик! :)
 |
MipH 17.02.2006 15:50
В ближайшем 8-м обновлениимодуль поиска претерпел значительно изменений, в том числе и по индексации. Правда вам тут сложно помочь этими изменения, поскольку у вас не просто время работы скрипта ограничено, еще и колличество запросов к БД в час...
хотя не знаю, когда выйдет обновление,можете в саппорт обратиться, помогут...
|
|  |
|