MySQL & tmpfs: производительность

Мне было интересно, если и насколько использование tmpfs может улучшить производительность MySQL и как это должно быть сделано? Мое предположение будет делать mount -t tmpfs -o size=256M /path/to/mysql/data/DatabaseNameи использовать базу данных нормально, но, возможно, я ошибаюсь (я использую только таблицы MyISAM).

Будет ли ежечасный rsync между tmpfs /path/to/mysql/data/DatabaseName а также /path/to/mysql/data/DatabaseName_backup оштрафовать спектакли? Если да, то как мне сделать резервную копию базы данных tmpfs?

Итак, это хороший способ сделать что-то, есть лучший способ или я теряю время?

1 ответ

Решение

Я ответил на аналогичный вопрос здесь, когда кто-то спрашивал, как загрузить базу данных MySQL в память. Среди других потенциальных решений есть собственный ДВИГАТЕЛЬ в MySQL, который лучше подходит для большинства ситуаций.

Для таблиц MyISAM предлагаемое решение будет функциональным.

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

Решение о виртуальном диске мне кажется рискованным. В случае потери питания данные могут быть потеряны, так как ваш rsync не будет в реальном времени. Вы можете реплицировать базу данных на ведомое устройство, которое можно хранить на диске. Запуск на MySQL на сервере ramdisk мог запустить scp с этого хоста в ramdisk перед запуском экземпляра.

Если ваш экземпляр MySQL не был хорошо оптимизирован, вы заметите существенное повышение производительности. Если хорошо оптимизировать, я бы заподозрил, что выгоды будут меньше. Единственный способ убедиться в этом - использовать такие инструменты, как Super Smack, MySQL Benchmark и sysbench, чтобы оценить производительность.

Удачи.

Другие вопросы по тегам