Назад | Перейти на главную страницу

Скопировать MySQL в RAM как замену memcached беднягу?

А как насчет этой идеи:

... как своего рода замена для бедняков пересмотру всех программ кода с использованием db и реализации memcached или подобного.

Используйте механизм хранения ПАМЯТИ на ведомом только для чтения делать ваши чтения, это именно то, что вы действительно хочу и вменяемую установку. Забудьте о «выгрузке на диск» (?!) И прочих странных вещах.

Вы даже можете разместить ведомое устройство в качестве другого экземпляра на существующем сервере, если вы не можете позволить себе настроить выделенное ведомое устройство, но правильная настройка параметров MySQL для рабочих нагрузок, в основном считываемых, также приведет к значительному повышению производительности!

используйте механизм innodb для всех ваших таблиц, в my.cnf установите innodb_buffer_pool_size на 2-3 ГБ оперативной памяти, во время запуска выполните полное сканирование таблицы для всех таблиц [или просто mysqldump -A]. это должно дать вам очень приличную производительность только для чтения, если у вас есть хорошие индексы для всех таблиц.

также, если вы воспользуетесь этим решением, ваш код будет проще - вам не придется заботиться о синхронизации из таблиц в MEMORY обратно в myisam / таблицы на диске.

Снято в темноте, но действительно ли вы сначала испытываете проблемы с производительностью?

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

Тогда посмотрите на архитектуру базы данных. Придумывая глупые обходные пути, вы сможете решить эту проблему позже. Действия, которые вы предпримете, зависят от вашего случая использования. Вы можете рассмотреть возможность вертикального масштабирования мощного сервера, затем поместить его за сервером memcached и создать подчиненный сервер, доступный только для чтения, для таких вещей, как запуск отчетов и резервное копирование.

Не отбирайте оперативную память из базы данных, чтобы попробовать схему, которая подрывает хорошие практики. Существуют блоги для высокопроизводительной настройки базы данных, где можно найти идеи, а в блоге подкастов StackOverflow есть статистика работы этого сайта (MS Stack); относительно интенсивный трафик, но не сложная установка.