+100 ... Полностью согласен... за 650 р на год хост хорошим не бывает... И сидим мы потом и выбираем в опциях чего б им еще отключить чтоб снизить тааааам еще что...А им подавай и спасибки, и медальки, и СЕО и еще черт знает чего...Даж СП подавай на 4 гега винта, 256 мозгов и селероне в 0,750... Даж такое было... Поэтому согласен с Shredder - какой на хрен крон... Все и так пучком...Shredder писал(а):говнохостингом всё будет ещё печальнее
Карта сайта для ботов - phpBB3 SEO Sitemap
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
).
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
-
Пчелкин
- phpBB 3.3.0
- Сообщения: 11361
- Стаж: 16 лет 8 месяцев
- Благодарил (а): 1832 раза
- Поблагодарили: 1358 раз
Re: Карта сайта для ботов - phpBB3 SEO Sitemap
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
-
xisp
- phpBB 3.0.0 RC7
- Сообщения: 1798
- Стаж: 14 лет 4 месяца
- Благодарил (а): 152 раза
- Поблагодарили: 215 раз
- Забанен: Бессрочно
Re: Карта сайта для ботов - phpBB3 SEO Sitemap
Да ничто не мешает сбагрить всё одним запросом. Я даже замерял- выполняется за обычное время, меньше сотой секунды. Но тогда повысится нагрузка со стороны PHP, разгребать массив ответа на мегабайты. Хотя может я и зря за него волнуюсь. Потестирую- выложу принцип действия. В моём механизме учитывается так же время изменения поста, если оно больше времени модификации последнего сообщения- то время модификации страницы будет именно им.Shredder писал(а):Поэтому я сейчас думаю над механизмом, который позволит сделать "правильное время модификации" без увеличения числа запросов
phpBBex
-
Shredder
- Former team member
- Сообщения: 2266
- Стаж: 17 лет 9 месяцев
- Благодарил (а): 283 раза
- Поблагодарили: 584 раза
Re: Карта сайта для ботов - phpBB3 SEO Sitemap
Это - само собой, я планировал сделать так же. Проблема только ещё в том, что по умолчанию время модификации не обновляется при правке модерами и админами.xisp писал(а):В моём механизме учитывается так же время изменения поста, если оно больше времени модификации последнего сообщения- то время модификации страницы будет именно им.
-
xisp
- phpBB 3.0.0 RC7
- Сообщения: 1798
- Стаж: 14 лет 4 месяца
- Благодарил (а): 152 раза
- Поблагодарили: 215 раз
- Забанен: Бессрочно
Re: Карта сайта для ботов - phpBB3 SEO Sitemap
Меня это тоже смутило. Уже хотел ставить мод, который обязательно ставит отметку "Редактировалось тогда-то", и, соответственно, прописывает время редактирования в БД.Shredder писал(а):Проблема только ещё в том, что по умолчанию время модификации не обновляется при правке модерами и админами.
Я не копал движок на этот счёт, но нельзя ли отвязать метку о редактировании от записи времени в БД? ИМХО, время правки нужно писать всегда.
phpBBex
-
Shredder
- Former team member
- Сообщения: 2266
- Стаж: 17 лет 9 месяцев
- Благодарил (а): 283 раза
- Поблагодарили: 584 раза
Re: Карта сайта для ботов - phpBB3 SEO Sitemap
И ещё такая фишка, что время редактирования любого сообщения на странице может быть больше, чем время самого последнего сообщения на странице. Т.е. в идеале нужно проверять время всех сообщений на странице, затем выбирать из них самое большее.
Ага, и при этом появляется надпись "сообщение редактировалось бла-бла-бла...", что может некоторых бесить. В общем, не вариант.xisp писал(а):Меня это тоже смутило. Уже хотел ставить мод, который обязательно ставит отметку "Редактировалось тогда-то", и, соответственно, прописывает время редактирования в БД.
Если имеется в виду, чтобы время писалось в БД, но в самом посте при этом не писалось, что он редактировался, то тем или иным способом это сделать можно. Либо отвязкой, либо добавлением нового поля.xisp писал(а):нельзя ли отвязать метку о редактировании от записи времени в БД? ИМХО, время правки нужно писать всегда.
-
xisp
- phpBB 3.0.0 RC7
- Сообщения: 1798
- Стаж: 14 лет 4 месяца
- Благодарил (а): 152 раза
- Поблагодарили: 215 раз
- Забанен: Бессрочно
Re: Карта сайта для ботов - phpBB3 SEO Sitemap
Я так и сделал, хоть первое правь.Shredder писал(а):И ещё такая фишка, что время редактирования любого сообщения на странице может быть больше, чем время самого последнего сообщения на странице. Т.е. в идеале нужно проверять время всех сообщений на странице, затем выбирать из них самое большее.
Да, новое поле будет лучшим выходом. По умолчанию 0, отображать, а при редактировании новых в тех случаях, когда стандартный движок просто не писал время редактирования в БД, нужно записывать 1 в новое поле и само время. И текущие посты не сломаются, и новые нормально будут отображаться, так как иногда нужно видеть, когда сообщение кем- то правилось.Shredder писал(а): Либо отвязкой, либо добавлением нового поля.
phpBBex
-
Shredder
- Former team member
- Сообщения: 2266
- Стаж: 17 лет 9 месяцев
- Благодарил (а): 283 раза
- Поблагодарили: 584 раза
Re: Карта сайта для ботов - phpBB3 SEO Sitemap
Сегодня всё сделал. Всё оказалось гораздо проще, чем казалось в начале. Пока не выкладываю, т.к. требует окончательного тестирования с моей стороны, плюс оформления в виде MODX, и если возможно, создание такой же системы для страниц форумов. Но факт, что способ работает без видимых отклонений - уже установлен.xisp писал(а):Да, новое поле будет лучшим выходом.
Запросов, по-прежнему, 2, отличие теперь только в том, что в цикле проверяются не все темы, а все посты. Соответственно, нагрузка может возрасти. А вот насколько - вопрос серверных тестов. Буду думать, как и где их провести.
-
Shredder
- Former team member
- Сообщения: 2266
- Стаж: 17 лет 9 месяцев
- Благодарил (а): 283 раза
- Поблагодарили: 584 раза
Re: Карта сайта для ботов - phpBB3 SEO Sitemap
Посмотрел и понял, что с форумами заморачиваться не стоит, т.к. принцип сортировки в них совсем другой, нежели у сообщений в темах: если создаётся новая тема, то все остальные темы сдвигаются вниз на всех страницах форума, и поэтому используемое сейчас в моде время модификации по
last_topic_time - самое оно.-
xisp
- phpBB 3.0.0 RC7
- Сообщения: 1798
- Стаж: 14 лет 4 месяца
- Благодарил (а): 152 раза
- Поблагодарили: 215 раз
- Забанен: Бессрочно
Re: Карта сайта для ботов - phpBB3 SEO Sitemap
Чаще отвечают в существующих, но да, примерно так.Shredder писал(а):если создаётся новая тема, то все остальные темы сдвигаются вниз на всех страницах форума,
Жду нового релиза, сравню эффективность алгоритмов.
phpBBex
-
Shredder
- Former team member
- Сообщения: 2266
- Стаж: 17 лет 9 месяцев
- Благодарил (а): 283 раза
- Поблагодарили: 584 раза
Re: Карта сайта для ботов - phpBB3 SEO Sitemap
Замерил скорость выполнения скриптов до и после "усовершенствования", тест проводился на форуме с 6666 URL. Результат: 0,6 с. против 4,2. Т.е., стало больше в 7 раз. Это без кеша. С кешем будет 0,05 с, но про кеш речь и не идёт. Как по мне, результат неудовлетворительный. Овчинка выделки не стоит.
[Обновлено 23.03.2014]
Полученные выше данные оказались ошибочными, см. этот пост - Карта сайта для ботов - phpBB3 SEO Sitemap
[Обновлено 23.03.2014]
Полученные выше данные оказались ошибочными, см. этот пост - Карта сайта для ботов - phpBB3 SEO Sitemap
Последний раз редактировалось Shredder 23.03.2014 6:29, всего редактировалось 1 раз.
-
xisp
- phpBB 3.0.0 RC7
- Сообщения: 1798
- Стаж: 14 лет 4 месяца
- Благодарил (а): 152 раза
- Поблагодарили: 215 раз
- Забанен: Бессрочно
Re: Карта сайта для ботов - phpBB3 SEO Sitemap
Господи, 5 секунд в сутки.Shredder писал(а):Результат: 0,6 с. против 4,2. Т.е., стало больше в 7 раз.
Shredder писал(а):Прикрепил файлы в архиве, если кто-то захочет проверить сие "чудо".
А, нет, сортировать массив и выбирать первое значение оказывается чуть быстрее вызова
max, совсем чуть- чуть. Или у меня глюки phpBBex
-
Пчелкин
- phpBB 3.3.0
- Сообщения: 11361
- Стаж: 16 лет 8 месяцев
- Благодарил (а): 1832 раза
- Поблагодарили: 1358 раз
Re: Карта сайта для ботов - phpBB3 SEO Sitemap
Хм... Не знаю почему и что и как, но, думаю, первые итоги работы карты -
1. Появились четыре новые поисковые машины (боты) на форуме. В списках ботов были давно. Но никогда не являлись...Явились...
2. Падение гугловского индекса приостановилось... надолго ли - вопрос
забыл еще:
3. Алексовский индекс полез вверх (наконец-то, семь месяцев падал или почти стоял на месте, даж не смотря на бурное добавление контекта)
1. Появились четыре новые поисковые машины (боты) на форуме. В списках ботов были давно. Но никогда не являлись...Явились...
2. Падение гугловского индекса приостановилось... надолго ли - вопрос
забыл еще:
3. Алексовский индекс полез вверх (наконец-то, семь месяцев падал или почти стоял на месте, даж не смотря на бурное добавление контекта)
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
-
Shredder
- Former team member
- Сообщения: 2266
- Стаж: 17 лет 9 месяцев
- Благодарил (а): 283 раза
- Поблагодарили: 584 раза
Re: Карта сайта для ботов - phpBB3 SEO Sitemap
Выполнение max там занимает около 0,1 (одной десятой) секунды, т.е. не играет никакой роли. Основной упор идёт именно на перебор постов. Если оставить даже вот такой элементарный код:xisp писал(а):А, нет, сортировать массив и выбирать первое значение оказывается чуть быстрее вызова max, совсем чуть- чуть. Или у меня глюки
Код: Выделить всё
$sql = 'SELECT t.topic_id' . $add_sql . ', t.topic_type, t.topic_last_post_id, t.forum_id, p.post_id, p.post_time, p.post_modified
FROM ' . TOPICS_TABLE . ' t, ' . POSTS_TABLE . ' p
WHERE t.topic_approved = 1 AND t.topic_status <> ' . ITEM_MOVED . ' AND t.topic_id = p.topic_id
ORDER BY t.topic_id, p.post_time ASC';
$result = $db->sql_query($sql);
$times = array();
$per = $config['posts_per_page'];
$page = $post = 0;
while ($data = $db->sql_fetchrow($result))
{
$f_id = (int) $data['forum_id'];
$t_type = (int) $data['topic_type'];
if ($t_type == POST_GLOBAL || ($auth->acl_get('f_list', $f_id) && !in_array($f_id, $excl)))
{
$times[] = $data['post_time'];
}
}$times[] = $data['post_time']; убрать - ничего не изменится всё равно.И это на хорошем хостинге и на форуме со 120 тысячами постов. Что будет с несколькими миллионами постов - можно только гадать.
-
xisp
- phpBB 3.0.0 RC7
- Сообщения: 1798
- Стаж: 14 лет 4 месяца
- Благодарил (а): 152 раза
- Поблагодарили: 215 раз
- Забанен: Бессрочно
Re: Карта сайта для ботов - phpBB3 SEO Sitemap
А что делает вот этот код:
По моему проверять права нужно на разделы, права на темы и посты всё равно не выдать. Именно эта проверка прав на каждый пост съедает всё время.
Вот как было сделано мной на основе sitemap_fx, код из цикла перебора топиков:
Дальше идёт формирование самой карты.
Проверка прав осуществляется на уровне разделов.
Запрос в цикле, число запросов равно числу топиков, но никто не умер что на лоалхосте, что на шареде.
Да и запрос у вас сложноват для БД, но это ИМХО, ибо я нуб в этом.
Для раздела с 4000 постов обще время заполнения составило 0,055523157119751.
Код: Выделить всё
if ($t_type == POST_GLOBAL || ($auth->acl_get('f_list', $f_id) && !in_array($f_id, $excl)))Вот как было сделано мной на основе sitemap_fx, код из цикла перебора топиков:
Код: Выделить всё
$sql = 'SELECT post_time, post_edit_time
FROM ' . POSTS_TABLE . '
WHERE topic_id = ' . $row['topic_id'];
$res = $db->sql_query($sql);
$row_time_page = $row_time_post = array();
while ($rows = $db->sql_fetchrow($res))
{
$row_time_post[] = max($rows['post_time'], $rows['post_edit_time']);
}
$db->sql_freeresult($res);
$row_time_page = array_chunk($row_time_post, $config['posts_per_page']);
$pages = $row['topic_replies'] / $config['posts_per_page'];
$pages = (int) $pages;
for ($i=0; $i<=$pages; $i++)
{
rsort($row_time_page[$i]);
$last_mod = $row_time_page[$i][0];
Проверка прав осуществляется на уровне разделов.
Запрос в цикле, число запросов равно числу топиков, но никто не умер что на лоалхосте, что на шареде.
Да и запрос у вас сложноват для БД, но это ИМХО, ибо я нуб в этом.
Для раздела с 4000 постов обще время заполнения составило 0,055523157119751.
phpBBex
-
Shredder
- Former team member
- Сообщения: 2266
- Стаж: 17 лет 9 месяцев
- Благодарил (а): 283 раза
- Поблагодарили: 584 раза
Re: Карта сайта для ботов - phpBB3 SEO Sitemap
Проверка ничего почти не съедает. Максимум - полсекунды. Убери её хоть вообще, будет почти то же самое. Нужно для проверки прав чтения форума и исключения форумов из списка исключений. Я уже проверял и не раз - основное время съедает именно перебор сам по себе, в его чистом виде. Вот если бы запрос ещё как-то усложнить, чтобы не приходилось в цикле потом столько значений переваривать, а вместо этого он сам бы выбирал максимальное значение времени для каждой страницы, то может быть, что-то бы и получилось. Но я не мастер MySQL и составления супер-сложных запросов, так что вряд ли что-то придумаю тут. Если, конечно, это вообще возможно.
Добавлено спустя 2 минуты 48 секунд:
Добавлено спустя 2 минуты 48 секунд:
А каким образом считаешь время?xisp писал(а):Для раздела с 4000 постов обще время заполнения составило 0,055523157119751.

