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

Уход за форумом и базой


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

Долго думал, в каком разделе поместить, но думаю в этом в самый раз. Предлагаю обсудить не вопрос оптимизации самого движка скинов и переменных OS, а именно одной вещи от которой никуда не деться - от больших баз.

 

У меня за год, таблица ibf_posts выросла на 40 мегабайт. От этого мне немного плохеет, так как нагрузка уже на грани (версия стоит 1.3.1), 300 чел в онлайне, причем сам движок и все остальное оттюнено на все 100, и cpu хавает именно mysqld, это проверено. Соотвественно стали появляться мысли, как ухаживать за столь бысстрорастущим форумом. Что приходит на ум

 

1) Ежемесячно пускать оптимизировать таблицу ibp_posts (кстати кто с какими ключами это обчно делает ?)

2) Отлючить все возможные ненужные растущие таблицы, чтобы не расходовать память mysqld - у меня например ibf_spiderlogs был 90 мегов

3) Архив соорудить. И снести в него древние но нужные темы - кстати что это реально даст в плане выигрыша производительности ?

4) Переход на 2.0.3 - там кэщ реализован табличный ? Мне именно на базу это снизит нагрузку ?

 

Еще есть какие-т мысли ? Или просто тупо вкладываться в железо ?

 

Ставил впереди апача nginx - кэширующий прокси - это конечно выравнивает ситуацию, но тогда теряется вообще весь смысл ibp форума, пропадают все фичи связанные с уникальностью юзера, так как все запросы идут от прокси. Откатился обратно.

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

>> 1) Ежемесячно пускать оптимизировать таблицу ibp_posts (кстати кто с какими ключами это обчно делает ?)

 

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

 

Тут можно попробовать разбить сложные запросы, проиндексировать более правильно таблицы. Да много чего можно попробовать сделать..

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

Тут можно попробовать разбить сложные запросы, проиндексировать более правильно таблицы. Да много чего можно попробовать сделать..

да пусть я и нарвусь на предупреждение, но разве это не флейм? :D

 

что толку от такого ответа?

особенно от такого гуру как ты, Song?

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

А что не нравится? Я написал что можно сделать.

действительно, как я сразу не заметил ;)

ну тогда пойду воспользуюсь твоим советом и сделаю "Да много чего можно попробовать" :D

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

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

4) Переход на 2.0.3 - там кэщ реализован табличный ? Мне именно на базу это снизит нагрузку ?

Кэш там табличный. На файловый переделать имхо несложно. Единственная трудность - concurrent reads&writes, которая по идее должна обходится при помощи flock, но как гласит мануал, не везде оно прокатит. В стандартной поставке обещали в 2.1.

У меня конечно нагрузки не большие, но все же так же интересен вопрос смены типа таблиц сессий на HEAP (MEMORY) - что это даст? В Вобле так сделано. К сожалению эмпирического опыта работы с сервером мускула пока не хватает, чтобы ответить однозначно на этот вопрос...

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

Наверное было бы идеальным решением уносить старые, но актуальные темы в "архив". Готового решения не встречал, но вот идеи:

1. Самый простой вариант - генерировать из устаревшей темы статический html, удалять все сообщения из темы, оставляя только ссылку на статику.

2. То же самое, что п.1. только с поддержкой со стороны форума - т.е. визуально юзер не видит, что ему вывалилась статика, а при попытке ответа тема например конвертится обратно и т.п. :D

 

п.1. практически не отличается от "версия для печати" (подобное понемногу использую на ikonboard)

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

Наверное было бы идеальным решением уносить старые, но актуальные темы в "архив". Готового решения не встречал, но вот идеи:

1. Самый простой вариант - генерировать из устаревшей темы статический html, удалять все сообщения из темы, оставляя только ссылку на статику.

 

Это кстати тема. Надо только подумать, как по этому поиск делать. Наверняка даже моды есть на эту тему, надо поискать.

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

Это кстати тема. Надо только подумать, как по этому поиск делать. Наверняка даже моды есть на эту тему, надо поискать.

на сколко я понимаю, поиск осуществляется средствами самой SQL, поэтому врядли существует такой мод.

Тогда надо собственный поисковичек прикручивать :D

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

Это кстати тема. Надо только подумать, как по этому поиск делать. Наверняка даже моды есть на эту тему, надо поискать.

на сколко я понимаю, поиск осуществляется средствами самой SQL, поэтому врядли существует такой мод.

Тогда надо собственный поисковичек прикручивать :D

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

  • 3 недели спустя...

ter

Чисто субьективно после перехода с 1.3.1 (без модов) на 2.0.3 (без модов) стали гораздо быстрее генерироваться страницы.

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

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

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

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

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