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

Сколько ядер может использовать Redis?

Я использую Redis на виртуальных машинах и не могу решить, сколько ядер им назначить.

Я знаю, что Redis использует один поток для обслуживания запросов, но в документации также указано, что некоторые задачи выполняются в фоновом режиме разными потоками / процессами.

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

Пока что я придумал это:

Я что-то пропустил, есть ли другие задачи, в которых Redis может использовать дополнительные ядра? Может репликация или потоки?

Redis - это, в основном, однопоточный сервер с точки зрения выполнения команд (на самом деле современные версии Redis используют потоки для разных целей). Пожалуйста, пройдите по ссылкам ниже. ЧАСКак быстро Redis?. Также есть один и тот же пост в stackoverflow - Redis является однопоточным, тогда как он выполняет одновременный ввод-вывод?

Пожалуйста, проверьте этот URL https://redis.io/topics/benchmarks,

«Redis не предназначен для использования нескольких ядер ЦП. Люди должны запускать несколько экземпляров Redis для горизонтального масштабирования на нескольких ядрах, если это необходимо. Несправедливо сравнивать один экземпляр Redis с многопоточным хранилищем данных».

«ЦП - еще один очень важный фактор. Будучи однопоточным, Redis отдает предпочтение быстрым ЦП с большим кешем и небольшим количеством ядер. В этой игре в настоящее время победителями являются ЦП Intel. Нередко бывает только половина производительности на AMD Opteron. ЦП по сравнению с аналогичными ЦП Nehalem EP / Westmere EP / Sandy Bridge Intel с Redis. Когда клиент и сервер работают на одном компьютере, ЦП является ограничивающим фактором при использовании Redis-Benchmark ».