2016-11-24 2 views
0

Мои тесты с автономным (однопоточным) Redis показывают, что загрузка от нескольких параллельных клиентов может привести к использованию Redis CPU до 100% (в случае использования кеша памяти).Будет ли Redis ускоряться с окантовкой нескольких мастеров, если вы не используете упорство?

Запуск его в режиме кластера и очертание содержимого несколькими мастерами - это возможный подход к его ускорению, если постоянство включено.

У меня есть конфигурация без настойчивости (выключена RDB и AOF). Может ли запуск нескольких мастеров помочь производительности (все еще используя один и тот же совокупный объем ОЗУ)?

ответ

0

Redis является однопоточным, поэтому производительность автономного экземпляра ограничена вычислительной мощностью одного ядра процессора и пропускной способностью сети одной машины. Однако Redis очень быстро. Таким образом, как правило, узким местом является пропускная способность сети, если только вы не запускаете множество медленных команд/lua-скриптов.

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

Если вы развертываете кластер Redis на одной машине (каждый узел прослушивает уникальный порт), производительность может быть улучшена. Это зависит ... Если узким местом является пропускная способность сети, он не будет улучшен. С другой стороны, если узким местом является процессорная мощность процессора, производительность должна быть улучшена. Таким образом, в этом случае вы должны сделать некоторый тест с вашими конкретными данными, конкретной средой и конкретными командами/сценариями lua.