본문 바로가기

분류 전체보기

(11)
Redis - Master / Replica(Slave) 의 구성 및 복제 Redis는 기본적으로 모든 명령을 처리하는 Master , Master의 복제본인 Replica(Slave/clone), Master와 Slave의 구조를 확인하고 잘동작하고 있는 지 확인하는 Sentinel 이렇게 3개의 노드들이 존재한다. 기본적인 Redis의 구조는 Master - Replica(Slave) - Replica(Slave) 구조로 아래와 같은 구성을 하고 있다. ##Slave란 용어는 Redis 5.0.0부터 Clone을 거쳐 Replica라는 단어로 바뀌었습니다. 과거 redis 버전을 구분하기위해서 과거버전은 slave라는 용어를 사용함 Master Redis에서 두뇌의 역할 모든 명령어(Read / Write 포함) 처리를 다함 Master가 failover상황시 Redis는 ..
cpupower 사용법 CPU를 조절하는 방법은 여러 가지의 방법이 있는데 그 중에서 cpupower를 사용하려고 한다. 1. cpupower 1) cpupower cpupower는 CPU frequency scaling을 지원하도록 설계되었다. 그래서 유저가 편하게 동적으로 cpu frequency를 조절할 수 있게 되어있다. cpupower의 구성 파일은 etc/default/cpupower에 있지만 구성파일은 usr/lib/systemd/scripts/cpupower의 bash 스크립트에서 읽어온다. - CPU의 MAX 값과 MIN 값 그리고 특정값 고정시키기 a) MAX #cpupower frequency-set -u [clock__freq] b) MIN #cpupower frequency-set -d [clock__f..
Redis - Server와 Client TCP/IP 통신 Redis는 Sever와 Client에서 TCP/IP를 통해 통신을 주고 받는다. Server와 Client 의 TCP/IP 통신 Redis의 코드(server.c) int main(int argc, char **argv) { ... initServer(); ... } socket 통신을 하는 부분은 initServer하는 부분에서 만들어지게 되는데 socket, bind, listen, accept가 만들어지게 된다. initSever()를 살펴보자면 void initServer(void) { int j; ... if (server.port != 0 && listenToPort(server.port,server.ipfd,&server.ipfd_count) == C_ERR) exit(1); if (ser..