использование Redis AOF fsync для записи в сравнении с MYSQL производительность myism db - PullRequest
0 голосов
/ 26 декабря 2011

У меня игра, в которой игроки должны нажимать на раунды. Обязательно сохранять данные за раунд в файле. В настоящее время мы используем базу данных mysql для сохранения данных. Я думаю, чтобы оптимизировать его с помощью Redis. Является ли redis AOF fsync per write такой надежностью и лучшей производительностью по сравнению с mysql.

1 Ответ

1 голос
/ 26 декабря 2011

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

Механизм MyISAM не предлагает никакого механизма регистрации повторов.Так что это довольно быстро, но не надежно.Любой сбой системы приведет к потенциальным повреждениям файлов данных, которые необходимо исправить, прежде чем можно будет восстановить службу.

Redis с AOF + fsync на запись обеспечит лучшую надежность, но за счет производительности имасштабируемость.Операции Fsync очень дороги с HDD.Redis пытается оптимизировать их, используя форму групповой фиксации (то есть несколько операций записи пакетируются во время итерации цикла событий), но, тем не менее, когда fsync завершен, весь цикл событий Redis останавливается.

ВыМожно смягчить это поведение, используя другие параметры (например, добавление к каждой секунде).В этом режиме вы можете потерять последнюю секунду трафика записи в случае сбоя системы, но нет необходимости что-либо восстанавливать перед перезапуском Redis.Производительность в этом режиме намного лучше, потому что fsync в основном выполняется в фоновом режиме.

IMO, если вам нужна абсолютная долговечность (но для игры, я сомневаюсь в этом), вам лучше подойдет настоящий OLTP-движокмаксимальные параметры безопасности (например: InnoDB с innodb_flush_log_at_trx_commit, установленным в 1).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...