본문 바로가기

대용량 플랫폼

[박혜웅] Install Memcached Server on Linux

<설치>
memcached 홈페이지에서 소개하는 설치 방법은 아래와 같고,
[root@test_server ~]# tar -zxvf memcached-1.x.x.tar.gz
[root@test_server ~]# ./configure
[root@test_server ~]# make
[root@test_server ~]# make test
[root@test_server ~]# sudo make install

래 처럼 간단히 설치할 수 있다.
[root@test_server ~]# yum install libevent-devel.x86_64
[root@test_server ~]# yum install memcached

자세한 설치 방법은 http://voyager.egloos.com/4121664 를 참조한다.

<실행>
테스트용 옵션: "memcached -vv -u nobody -m 1024 -p 7941"
서비스용 옵션: "memcached -d -u nobody -m 1024 -p 7941"
테스트할 때는 -vv 또는 -vvv 옵션을 주어 실행 과정을 살펴 보는 것이 좋고,
서비스할 때는 -d 옵션을 주어 daemon 모드로 성능을 높이는 것이 좋다.
위에서 "-m 1024"는 1024MB를 memcached에서 사용한다는 의미이며, 
"-p 7941"는 포트를 7941로 사용한다는 뜻이다.

"memcached -help" 를 치면 아래와 같은 자세한 실행 옵션이 출력된다.
[root@test_server ~]# memcached -help
memcached 1.4.5
-p <num>      TCP port number to listen on (default: 11211)
-U <num>      UDP port number to listen on (default: 11211, 0 is off)
-s <file>     UNIX socket path to listen on (disables network support)
-a <mask>     access mask for UNIX socket, in octal (default: 0700)
-l <ip_addr>  interface to listen on (default: INADDR_ANY, all addresses)
-d            run as a daemon
-r            maximize core file limit
-u <username> assume identity of <username> (only when run as root)
-m <num>      max memory to use for items in megabytes (default: 64 MB)
-M            return error on memory exhausted (rather than removing items)
-c <num>      max simultaneous connections (default: 1024)
-k            lock down all paged memory.  Note that there is a
              limit on how much memory you may lock.  Trying to
              allocate more than that would fail, so be sure you
              set the limit correctly for the user you started
              the daemon with (not for -u <username> user;
              under sh this is done with 'ulimit -S -l NUM_KB').
-v            verbose (print errors/warnings while in event loop)
-vv           very verbose (also print client commands/reponses)
-vvv          extremely verbose (also print internal state transitions)
-h            print this help and exit
-i            print memcached and libevent license
-P <file>     save PID in <file>, only used with -d option
-f <factor>   chunk size growth factor (default: 1.25)
-n <bytes>    minimum space allocated for key+value+flags (default: 48)
-L            Try to use large memory pages (if available). Increasing
              the memory page size could reduce the number of TLB misses
              and improve the performance. In order to get large pages
              from the OS, memcached will allocate the total item-cache
              in one large chunk.
-D <char>     Use <char> as the delimiter between key prefixes and IDs.
              This is used for per-prefix stats reporting. The default is
              ":" (colon). If this option is specified, stats collection
              is turned on automatically; if not, then it may be turned on
              by sending the "stats detail on" command to the server.
-t <num>      number of threads to use (default: 4)
-R            Maximum number of requests per event, limits the number of
              requests process for a given connection to prevent 
              starvation (default: 20)
-C            Disable use of CAS
-b            Set the backlog queue limit (default: 1024)
-B            Binding protocol - one of ascii, binary, or auto (default)
-I            Override the size of each slab page. Adjusts max item size
              (default: 1mb, min: 1k, max: 128m)
-S            Turn on Sasl authentication