./configure --prefix=/usr/local/memcached make && make test sudo make install
/etc/memcached.conf
파일을 /etc/memcached_server이름.conf
로 복사하여 설정하면 설정 파일 갯수만큼 서버가 뜬다.-I 1m
: 아이템당 메모리 크기를 1mb 로 지정-m 2048
: 전체 캐시 사이즈를 2048m으로 지정한다. 이 크기는 운영체제가 차지하는 메모리 용량을 염두에 두고 스왑을 사용하지 않고서 사용할 수 있도록 지정해야 한다.memcached -p 27012 -m 2048 -d -P /tmp/memcached.pid
-t [Core갯수]
: 쓰레드 갯수를 지정한다. 기본값은 4
이며, 해당 장비의 CPU Core 갯수보다 같거나 작게 설정한다. CPU Core 수 보다 많으면 오히려 성능이 떨어진다.-o slab_reassign slab_automove
: memcached를 장시간 실행할 경우 slab page 재사용 - beta 기능. $ sudo vi /etc/sysctl.conf vm.swappiness = 0 $ sudo sysctl vm.swappiness=0
운영중인 Memcached의 버전을 알아내려면 Telnet으로 접속하여 version
명령을 내리면 된다.
telnet hostname port version
sudo apt-get install sasl2-bin sudo saslpasswd2 -a memcached -c [사용자명] # 이후 비밀번호 지정 sudo usermod -a -G sasl memcache sudo usermod -a -G sasl memcache # memcache 사용자를 sasl 그룹에 추가해야 ''/etc/sasldb2'' 읽기 가능 sudo usermod -g sasl memcache # primary group 으로 변경 sudo su - memcache # memcache 사용자의 group 정보 갱신. 이걸 안하면 reboot 필요
-S
추가하고 재시작Memcached는 아이템이 expire 되더라도 메모리에서 삭제하지 않으며, 새로운 데이터 요청이 들어왔을 때 이미 expire 된 아이템을 대체하는 방식으로 작동한다. lru - How does the lazy expiration mechanism in memcached operate?
So expired items are only purged when a get request is sent for the expired item or the expired item is cleared because the storage is needed.
libmemcached tools
패키지 설치memcslap
처럼 이름이 memc
로 시작함.