Перейти к контенту

Подрезаем БД: сброс постов в файлы


Рекомендуемые сообщения

FatCat, понятно. Надо будет прикинуть, а то как бы мне на часа 2 не попасть с этим сархивированием :D

Сегодня потестировал на локальной машине. Локалка работает раза в 3 медленнее, чем сервер, по крайней мере по бекапу/рестору Sypex Dumper'ом.

20 000 сообщений:

экспорт в файлы - меньше 2 минут;

модификация БД - чуть больше 2 минут.

Ссылка на комментарий
Поделиться на других сайтах

  • Ответы 99
  • Создана
  • Последний ответ

Лучшие авторы в этой теме

Лучшие авторы в этой теме

FatCat, это радует. Спасибо, буду иметь в виду. И ещё хотел узнать:

- Побочный эффект этого метода только 1: нельзя будет цитировать заархивированные посты? Или есть ещё?

Ссылка на комментарий
Поделиться на других сайтах

- Побочный эффект этого метода только 1: нельзя будет цитировать заархивированные посты? Или есть ещё?

Перестанут искаться поиском по форуму средствами форума. Только поисковками.

Ссылка на комментарий
Поделиться на других сайтах

FatCat, ясно. Но с другой стороны, мало кому нужны, там, первые 20 000 сообщений, когда их уже за 40 000. Поэтому практически ничего не теряем.
Ссылка на комментарий
Поделиться на других сайтах

  • 2 недели спустя...
я нельзя ли сделать, чтобы посты сохранялись в .htm файлах? или .js обязателен?

А как htm-файлы будут отображаться в топике? Через iframe? Это не сложно сделать, только не знаю зачем.

Ссылка на комментарий
Поделиться на других сайтах

FatCat: ну это бы решило отображение топиков, если у юзера джава по каким-либо причинам не работает.
Ссылка на комментарий
Поделиться на других сайтах

FatCat: ну это бы решило отображение топиков, если у юзера джава по каким-либо причинам не работает.

И заодно отрубило бы всех, у кого не работают ифреймы. Например, половину Китая: там многие сидят под никсами с дефолтным 4-м нетскейпом.

Плюс, рейтинги в поисковках: поисковки уже научились корректно обрабатывать джава-скрипт; не знаю, насколько корректно они отрабатывают ифреймы.

 

Если уж очень критично не пользоваться джаваскриптом, можно сделать на инклайдах. Но тогда простеньким скриптом архивации не обойтись, придется серьезно переделывать движок, чтобы инклайдить текстовые файлы в скинах. Плюс увеличение нагрузки на сервер.

Ссылка на комментарий
Поделиться на других сайтах

pikachu, ммм... А вот это не очень хорошо. Я особо не разбираюсь в подобных вещах, но в каком соотношении (процентном) у людей не работает джава? То есть, например, у 90% процентов людей джава не работает ))
Ссылка на комментарий
Поделиться на других сайтах

в каком соотношении (процентном) у людей не работает джава? То есть, например, у 90% процентов людей джава не работает ))

Когда я поставил джава-скриптовую проверку на ботов, из полутора тысяч зарегистрированных пользователей и немерянного количества гостей только один пожаловался.

 

[off]Что делать на форуме без джаваскрипта?

Кнопки ББ-кодов на джаваскрипте, вставка смайликов на джаваскрипте... И все это не будет работать?[/off]

Ссылка на комментарий
Поделиться на других сайтах

FatCat

Может выводить в сообщения кроме тега скрипта ещё "Для просмотра содержимого этого сообщения в вашем браузере должен быть включен JavaScript"?

Ссылка на комментарий
Поделиться на других сайтах

FatCat

Может выводить в сообщения кроме тега скрипта ещё "Для просмотра содержимого этого сообщения в вашем браузере должен быть включен JavaScript"?

Можно.

Вместо

$query= "UPDATE `".$prefix."posts` SET `post` = '<script type=\"text/javascript\" src=\"".$URL.$path.$topic."/post".$row_mess['pid'].".js\"></script>' WHERE `pid` =".$row_mess['pid']." LIMIT 1 ";

использовать

$query= "UPDATE `".$prefix."posts` SET `post` = '<script type=\"text/javascript\" src=\"".$URL.$path.$topic."/post".$row_mess['pid'].".js\"></script><noscript>Для просмотра этого сообщения в вашем браузере должен быть включен JavaScript</noscript>' WHERE `pid` =".$row_mess['pid']." LIMIT 1 ";

 

У себя делать такого не буду. Нефига импотентам по борделям шляться с отключенным джаваскриптом по архивам шариться. :D

Ссылка на комментарий
Поделиться на других сайтах

  • 1 месяц спустя...

Позвольте вопросы

1. А что улучшит такая операция?

2. Если я 1 топик с 20к постами заархивирую, что это даст?

3. Топики начиная с какого числа постов имеет смысл архивировать?

 

И самое важное!

4. Если у меня 50к постов в топике, но топик завется "Давайте досчитаем до бесконечности!" (в каждом посте люди постят числа в 4-6 символов). То такой топик лучше не архивировать? Он будет только более тяжелым?

Это как mp3 архивировать? :D

Ссылка на комментарий
Поделиться на других сайтах

1. А что улучшит такая операция?

2. Если я 1 топик с 20к постами заархивирую, что это даст?

3. Топики начиная с какого числа постов имеет смысл архивировать?

Кто вообще про топики говорил? Если нет сил прочитать первое сообщение, хоть заголовок прочитать сил хватит? Архивируем посты. Лишь для удобства админа группируя посты не только по датам, но и по топикам.

 

 

4. Если у меня 50к постов в топике, но топик завется "Давайте досчитаем до бесконечности!" (в каждом посте люди постят числа в 4-6 символов). То такой топик лучше не архивировать? Он будет только более тяжелым?

Это как mp3 архивировать? :D

После архивации каждый пост будет весить в БД примерно 70 байт.

Топики с короткими постами архивировать нецелесообразно.

Ссылка на комментарий
Поделиться на других сайтах

Все правильно. Тему я читал. Как раз говрю про вариант с целыми топиками. Не надо искать у меня ошибок в мыслях :D
Ссылка на комментарий
Поделиться на других сайтах

  • 2 месяца спустя...

а вообще идеальный вариант был бы генерация html-файла.... чтобы база при запросе темы вообще не задействовалась....

 

никаких iframe... просто html-файл хорошо пролинкованный... без возможности постинга...

html-тема отправляется в архив...

 

если людям надо продолжить тему, пусть создают новую....

 

есть в природе модификация (платная/бесплатная) генерации html-файла из данных бд ?

 

--------------

 

Помогите посчитать, пожалуйста, в теоретических целях....

 

у меня табличка posts

Данные 360,706 КБ

Индекс 246,403 КБ

Всего 607,109 КБ

 

всего 690 000 сообщений...

 

если я все сообщения переведу на js.... то получим 690000 х 70 байт = 48 300 000 байт

или в районе 47 мегов....

 

т.е. данные уменьшатся раз в 8.

 

что при этом будет с индексом?

Ссылка на комментарий
Поделиться на других сайтах

Индекс уменьшится по полю post, если у тебя есть полнотекстовый. Все остальные останутся как есть.
Ссылка на комментарий
Поделиться на других сайтах

есть в природе модификация (платная/бесплатная) генерации html-файла из данных бд ?

Я у себя модифицировал версию для печати для обхода лимита в 300 сообщений.

Открыть весь топик в браузере на одной странице, сохранить HTML на хард и скинуть по ФТП на хост - дело минутное.

Ссылка на комментарий
Поделиться на других сайтах

Там оформление ужасное.

А вот в подрезании оформление будет форумское.

Ссылка на комментарий
Поделиться на других сайтах

Индекс уменьшится по полю post, если у тебя есть полнотекстовый. Все остальные останутся как есть.

 

Song, у меня индекс такой в таблице post...

 

Индексы: Имя ключа Тип Количество элементов Действие Поле

PRIMARY PRIMARY 689290 pid

topic_id INDEX 229763 topic_id

author_id

author_id INDEX 7255 author_id

forum_id INDEX 689290 forum_id

post_date

post FULLTEXT 1 post

 

стало быть размер индекса не изменится?

 

есть в природе модификация (платная/бесплатная) генерации html-файла из данных бд ?

Я у себя модифицировал версию для печати для обхода лимита в 300 сообщений.

Открыть весь топик в браузере на одной странице, сохранить HTML на хард и скинуть по ФТП на хост - дело минутное.

 

страницу больще 200 кб поисковики не проиндексируют... так что надо разбить на несколько хтмл-страничек...

линковать опять же надоест всё это дело...

 

а хтмл-страницу можно сгенерировать и красиво по шаблону наверное...

Ссылка на комментарий
Поделиться на других сайтах

стало быть размер индекса не изменится?

ну я ж сказал:

Индекс уменьшится по полю post, если у тебя есть полнотекстовый.

у тебя он есть:

post FULLTEXT 1 post
Ссылка на комментарий
Поделиться на других сайтах

стало быть размер индекса не изменится?

ну я ж сказал:

Индекс уменьшится по полю post, если у тебя есть полнотекстовый.

у тебя он есть:

post FULLTEXT 1 post

 

я вообще слабо представляю, из чего состоит индекс....

знаю только то, что он ускоряет работу базы...

но вместе с тем его разрастание также вредно, так как увеличивается база и нужно на нее больше ресурсов сервера..

 

post FULLTEXT 1 post

 

всего 1 - количество элементов....

вот и подумал, что индекс в этой части мелковат, что его уменьшение не будет играть особого значения

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.