За и против: Большие базы в оперативке

12
neznaika
На сайте с 28.06.2006
Offline
356
1269

Ребята, подскажите!

Есть стабильно работающая система, MySQL больше 1 Гб. Растет посещаемость.

Хотел выгрузить базу полностью в оперативку, саппорт утверждает, что это нарушит стабильность системы. Памяти после выгрузки в запасе ~3 гб.

Дорого покупаю настоящие сайты. Не инвестирую деньги и не беру кредиты.
P
На сайте с 08.03.2007
Offline
250
#1

Наверно, саппорт думает, что запись в память и запись на диск - разные вещи?

Andreyka
На сайте с 19.02.2005
Offline
822
#2

У Вас выделенный сервер?

Не стоит плодить сущности без необходимости
A4
На сайте с 09.08.2007
Offline
55
#3

Не нужно её никуда выгружать, система сама запихает в дисковый кеш то, что нужно. Лучше оптимизируйте индексы с запросами, и размер кеша под индекс.

Настройка nginx и сопутствующего софта на freebsd/debian. Контакт через PM.
S
На сайте с 07.05.2007
Offline
20
#4

такой вариант мелькнул - сделать RAMDISK в оперативе и смонтировать туда /var..... :)

Lexasoft
На сайте с 25.12.2007
Offline
69
#5

Это очень хорошая тема, работает на порядки быстрее.

Есть даже такая штука как FastDB — база данных, полностью хранящаяся в памяти (сливается периодически на диск).

Главное сделать чтобы бэкапы лились во время, на случай падения питания.

N
На сайте с 06.05.2007
Offline
419
#6

абсолютно бесполезно с точки зрения хостинга.

оптимальный план уже высказал Alexei42 и я с ним согласен.

Lexasoft, Книжник пишет хорошие штуки, но, думаю, вопрос о переписывании приложений не стоит.

Кнопка вызова админа ()
neznaika
На сайте с 28.06.2006
Offline
356
#7
Andreyka:
У Вас выделенный сервер?

Еще какой! Да, выделенный.

Alexei42:
система сама запихает в дисковый кеш то, что нужно.

Спасибо за ваше мнение! Вы внимательно прочитали вопрос?

Lexasoft:
Есть даже такая штука как FastDB — база данных

К сожалению перевод на другой тип базы невозможен.

Господа — дисковое кеширование используется в полном объеме. Меня интересует именно выгрузка базы в оперативную память. Возможно у меня проблема с формулировкой. 🍾

N
На сайте с 06.05.2007
Offline
419
#8

в первую очередь важно увеличить именно key_buffer, а остальные данные операционка закеширует сама.

есть возможнось создать временные таблицы с engine=memory, но между рестартами сервера данные в таких таблицах не сохраняются, на диске хранится лишь структура и внезапная остановка сервера вызовет потерю данных.

возможно это и имел ввиду саппорт.

V
На сайте с 25.07.2006
Offline
128
#9
neznaika:

Господа — дисковое кеширование используется в полном объеме. Меня интересует именно выгрузка базы в оперативную память. Возможно у меня проблема с формулировкой. 🍾

Если системный файловый кеш и размер key_byffer достаточны, то вся база фактически будет висеть в памяти и обращения к диску будут только при записи. Это можно воочию увидеть, если положить базу на отдельный раздел диска и использовать iostat

Похоже таки проблема с формулировкой.

Расскажите, каким именно образом вы выгружали базу в ОЗУ?

Приватный linux-администратор
neznaika
На сайте с 28.06.2006
Offline
356
#10
vapetrov:
Расскажите, каким именно образом вы выгружали базу в ОЗУ?

Ну не выгружал я! Спрашиваю вашего совета собсно, саппорт мало и невнятно на эту тему говорит.

vapetrov:
системный файловый кеш и размер key_byffer достаточны, то вся база фактически будет висеть в памяти

Спасибо! Буду копать в этом направлении.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий