Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
23
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

posted at

updated at

俺でもわかるシリーズ: memcachedの設定

yumでインストールされたmemcachedの設定の初期値は、おおよそ以下のようになっているはずです。

/etc/sysconfig/memcached
PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="64"
OPTIONS=""

せっかく大富豪インスタンスを使っているのだから、もっと接続できるようにして、もっとメモリを使いましょう。

/etc/sysconfig/memcached
PORT="11211"
USER="memcached"
MAXCONN="65535"
CACHESIZE="160000"
OPTIONS=""

……将来的に平民インスタンスにスケールダウンする可能性もあるので、これを決め打つのはマズいのでは?

この設定ファイルは起動スクリプトを読むと分かるのですが、ただのシェルスクリプトです。

/etc/rc.d/init.d/memcached
#! /bin/sh
#
# chkconfig: - 55 45
# description:  The memcached daemon is a network memory cache service.
# processname: memcached
# config: /etc/sysconfig/memcached
# pidfile: /var/run/memcached/memcached.pid

## 中略

PORT=11211
USER=memcached
MAXCONN=1024
CACHESIZE=64
OPTIONS=""

if [ -f /etc/sysconfig/memcached ];then
    . /etc/sysconfig/memcached
fi

## 後略

使えるメモリ量の8割を使うように書いてしまいましょう。

/etc/sysconfig/memcached
PORT="11211"
USER="memcached"
MAXCONN="65535"
TOTAL=`free -m | head -2 | tail -1 | awk '{print $2}'`
CACHESIZE="`echo "$TOTAL * 0.8" | bc | awk -F '.' '{print $1}'`"
OPTIONS=""

memcachedを再起動して、実際に適用されているか確認します。

$ sudo service memcached restart
$ free -m
             total       used       free     shared    buffers     cached
Mem:          7492        339       7152          0         84        102
-/+ buffers/cache:        152       7339
Swap:            0          0          0
$ ps ax | grep memcached
 2525 pts/0    S+     0:00 grep memcached
31366 ?        Ssl    0:00 memcached -d -p 11211 -u memcached -m 5993 -c 65535 -P /var/run/memcached/memcached.pid

起動オプション -m の値が動的に設定されていることが確認できました。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
23
Help us understand the problem. What are the problem?