Redis 자체는 그러한 보증을 제공하지 않습니다.
4 개의 인스턴스를 시작하면 운영 체제가 4 코어에서 예약해야하는 4 가지 프로세스가 있습니다. 이로드 밸런싱을 수행하여 시스템의 성능을 최적화하는 것은 OS에 달려 있습니다.
이제 각 인스턴스를 특정 코어에 바인딩하려는 경우 최신 OS는 대개 특정 CPU 코어에서 프로세스의 실행을 강제하는 도구를 제공합니다.
예를 들어, Linux에서는 taskset과 numactl 명령을 볼 수 있습니다.
특정 코어 (CPU 마스크 설정)에서 Redis를 실행하면 모든 스레드와 하위 프로세스가이 CPU 마스크를 상속하기 때문에 실제로주의해야합니다. 따라서 Redis가 백그라운드 저장 작업을 트리거하거나 백그라운드 AOF 재 작성을 시도하면 Redis 인스턴스의 성능에 심각한 영향을 미칩니다. 이것은 주 Redis 스레드가 백그라운드 작업 (일반적으로 CPU 소비)으로 CPU 코어를 공유하기 때문입니다.
정말로 CPU 바인딩을 사용하여 게임을하고 싶다면 N Redis 인스턴스를 N + 1 CPU 코어에 바인딩하고 배경 작업을 위해 하나의 코어를 비워 두어야합니다. 최대 하나의 백그라운드 작업이 이러한 인스턴스에 대해 동시에 실행될 수 있습니다.
또 다른 대답은 다소 반대라고 말합니다 : http://stackoverflow.com/a/36813957/1469954. 어떤 조언을 받아야합니까? :) – SexyBeast
이 다른 대답은 CPU 바인딩을 참조하지 않습니다. 상대방의 관점을 어떻게 표현할 수 있습니까? –