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

Конвертирование таблицы сессий в MEMORY


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

Господа, сегодня эксперимента ради конвертнул таблицу ibf_sessions в MEMORY (была стандартной MyISAM). Результат потрясающий - форум начал летать как самолёт! (100-150 человек в онлайне обычно)

 

Ведь если подумать - таблица сессий постоянно попoлняется новыми записями, записи постоянно обновляются и удаляются по таймауту. Писать это дело каждый раз на винчестер - адский ад для последнего! Из-за этого таблица сессий и фрагментируется постоянно, сегодня вон уже 5мб в оффсете было.

 

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

 

Или я всё-таки в чём-то заблуждаюсь? Если нет - тогда я не понимаю, почему об этом нигде не пишут...

Изменено пользователем 2rough4u
Ссылка на комментарий
Поделиться на других сайтах

Все нормально. В крайнем случае все перезайдут. Хотя, на нормальных серверах аптаймы такие, что.... :D

 

Правда, вариант не для shared-хостинга ;)

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

Просто не пишут. Точнее пишут(правда-правда, три темы помню), но в основном-то тут люди с шаредов :D
Ссылка на комментарий
Поделиться на других сайтах

Идея в голову приходила еще год назад, наверное, но тогда было лень залезть в гугл и почитать дадашит на MEMORY. Сегодня залез, ознакомился - понял, что ничего страшного в этом типе таблиц нет и даже более того - есть много чего прекрасного! :D Изменено пользователем 2rough4u
Ссылка на комментарий
Поделиться на других сайтах

  • 3 года спустя...

Хоть на дворе уже 2014-й, но допишу своё наблюдение по данной теме, может кому-то будет важно.

Если у вас таблица ibf_sessions в MYISAM, то перевод её в MEMORY имеет смысл в плане увеличения скорости. Однако, если эта таблица в INNODB и клиентов много (у меня ~5000 онлайн за 15 минут), то даже и не пытайтесь - станет намного хуже, т.к. таблица в MEMORY или MYISAM при записи в неё блокируется вся (в отличие от INNODB), что при большом количестве запросов приведёт к затыку.

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

Можно резюмировать, что sessions, content_cache_posts, content_cache_sigs, cache_store, core_item_markers, core_item_markers_storage, profile_portal_views, search_sessions,search_visitors, spider_logs, topic_views нужно держать в INNODB . Там полнотекстовый поиск точно не нужен, а запись довольно массированная.

 

Еще более быстрый вариант - гибрид. Надо оставить в INNODB минимальные таблицы по объему данных, возможно даже только sessions .

Выставить innodb_buffer_pool_size в пару гигабайт, innodb_flush_log_at_trx_commit = 0 . Буфер innodb общий для всего сервера MySQL , но если его объем больше объема всех таблиц INNODB на сервере, то таблицы будут всегда целиком в памяти. Скорость должна получиться почти как у memory, но без блокировок. Я пока не проверял, нет такого загруженного форума для экспериментов, но теоретически должно быть быстро.

 

Еще по поводу скорости INNODB

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

innodb_read_io_threads и innodb_write_io_threads начиная с MySQL 5.1.38 выставить в 64

innodb_file_per_table тоже должен быть включен.

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

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

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

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

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

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

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

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

Зарузка...
×
×
  • Создать...

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

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