「Linux/memcacheインストール」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→キャッシュサイズなど設定) |
(→キャッシュサイズなど設定) |
||
行65: | 行65: | ||
上の例だとcacheサイズは64MB | 上の例だとcacheサイズは64MB | ||
− | + | CACHESIZE="4096" # 4Gだとこんな感じで | |
==キャッシュサイズ確認== | ==キャッシュサイズ確認== |
2015年5月27日 (水) 04:47時点における版
目次
- 1 memcacheリポジトリを追加(32bit
- 2 memcacheリポジトリ追加(64bit centos6
- 3 標準のリポジトリに見つからないときだけRPMforgeリポジトをみるよう修正
- 4 renablerepo=rpmforgeがないときはインストール
- 5 memcachedインストール
- 6 memcache使用確認
- 7 memcache起動
- 8 自動起動
- 9 セキュリティ
- 10 キャッシュサイズなど設定
- 11 キャッシュサイズ確認
- 12 telnetで動作確認
- 13 httpd再起動
- 14 phpライブラリmemcacheとmemcachedの違い
- 15 pecl-memcachedインストールエラー
- 16 memcacheでPermissionエラーが出る場合
- 17 コンソールでログイン
- 18 コンソールコマンド一覧
- 19 コンソールステータス一覧
memcacheリポジトリを追加(32bit
cd /usr/local/src wget http://dag.wieers.com/rpm/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm rpm -Uvh rpmforge-release-0.3.6-1.el5.rf.i386.rpm
memcacheリポジトリ追加(64bit centos6
cd /usr/local/src wget http://dag.wieers.com/rpm/packages/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm rpm -Uvh rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
標準のリポジトリに見つからないときだけRPMforgeリポジトをみるよう修正
vi /etc/yum.repos.d/rpmforge.repo # enabled = 1 enabled = 0
renablerepo=rpmforgeがないときはインストール
# cd /usr/local/src # wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.3.4-1.el3.rf.x86_64.rpm # rpm -Uhv rpmforge-release-0.3.4-1.el3.rf.x86_64.rpm
memcachedインストール
# yum install gcc # yum --enablerepo=rpmforge install memcached # yum install zlib-devel # yum install libmemcached # yum install memcached-devel # yum install --enablerepo=remi php-pecl-memcached
(エラー回避策:Missing Dependency: perl(Net::SSLeay) >= 1.33 is needed by package perl-AnyEvent
yum remove perl-Net-SSLeay cd /usr/local/src # 32bit wget http://packages.sw.be/perl-Net-SSLeay/perl-Net-SSLeay-1.36-1.el5.rfx.i386.rpm rpm -i perl-Net-SSLeay-1.36-1.el5.rfx.i386.rpm # 64bit wget http://packages.sw.be/perl-Net-SSLeay/perl-Net-SSLeay-1.36-1.el5.rfx.x86_64.rpm rpm -i perl-Net-SSLeay-1.36-1.el5.rfx.x86_64.rpm
memcache使用確認
# php -i | grep memcache
memcache起動
# /etc/rc.d/init.d/memcached start
自動起動
# /sbin/chkconfig memcached on # /sbin/chkconfig --list memcached
セキュリティ
公開サーバにmemcacheを入れた場合は以下のように接続元サーバを指定 # vi /etc/sysconfig/memcached
# OPTIONS="" OPTIONS="-l 127.0.0.1"
キャッシュサイズなど設定
# vi /etc/sysconfig/memcached
MAXCONN="1024" CACHESIZE="64" #OPTIONS="" OPTIONS="-l 127.0.0.1"
上の例だとcacheサイズは64MB
CACHESIZE="4096" # 4Gだとこんな感じで
キャッシュサイズ確認
$ telnet localhost 11211 stats STAT limit_maxbytes 67108864
終了はctrl+]
telnetで動作確認
$ telnet 127.0.0.1 11211 set key1 0 3600 6 value1 get key1 VALUE key1 0 6 value1 END
終了はctrl+]
httpd再起動
# /etc/rc.d/init.d/httpd restart
phpライブラリmemcacheとmemcachedの違い
memcachedのほうが性能が良いらしい。(php5.2以上で動作
pecl install memcached # Zend_CacheだとLibmemcache pecl install memcache # Zend_CacheだとMemcached
http://samurai.blog.shinobi.jp/Entry/384/
pecl-memcachedインストールエラー
- 1.0系でないとならないが、libmemcacheはpeclで入れるとバージョンが古いので手動で入れる
cd /usr/local/src wget https://launchpad.net/libmemcached/1.0/1.0.16/+download/libmemcached-1.0.16.tar.gz tar xzf libmemcached-1.0.16.tar.gz cd libmemcached-1.0.16 ./configure make make install
- undefined symbol: memcached_last_error_errnoなエラーが出る場合は更新したlibbmemcachedが反映されていないので、pecl-memcachedを再インストールする
pecl uninstall memcached pecl install memcached
エラー1
error: expected declaration specifiers or ‘...’ before ‘memcached_server_instance_st’
libmemcached-1.0.17がバグっているようなので17を避ける
memcacheでPermissionエラーが出る場合
firewallかselinuxを切ってみる
コンソールでログイン
$ telnet localhost 11211 stats 状態確認 delete <キャッシュID> 削除 flush_all キャッシュ全削除 ^] (ctrl+]) q 終了
コンソールコマンド一覧
stats items #item一覧 stats cachedump 4 4 # キー取得(numberが数字のところSTAT items:4:number 4だったら key HOGE1 # 値取得
コンソールステータス一覧
stats STAT pid 1495 # プロセスid STAT uptime 1569442 # 起動時間s STAT time 1380115547 # 現在時間 STAT version 1.4.5 # ver STAT pointer_size 64 # 32bit or 64bit STAT rusage_user 0.852870 # プロセスがユーザモードで動作した累計時間 STAT rusage_system 0.491925 # プロセスがカーネルモードで動作した累計時間 STAT curr_connections 5 # 現在のコネクション数 STAT total_connections 68 # 累計コネクション数 STAT connection_structures 17 構造体接続数 STAT cmd_get 2261 # GETコマンド数 STAT cmd_set 719 # SETコマンド数 STAT cmd_flush 0 # FLUSHコマンド数 STAT get_hits 1685 # GET_HIT数 STAT get_misses 576 # GET_MISS数 STAT delete_misses 0 # 削除MISS数 STAT delete_hits 0 # 削除HIT数 STAT incr_misses 0 STAT incr_hits 0 STAT decr_misses 0 STAT decr_hits 0 STAT cas_misses 0 # CASミス数 STAT cas_hits 0 # CAS_HIT数 STAT cas_badval 0 STAT auth_cmds 0 STAT auth_errors 0 STAT bytes_read 140486 STAT bytes_written 183371 STAT limit_maxbytes 67108864 # 最大byte数 STAT accepting_conns 1 STAT listen_disabled_num 0 STAT threads 4 # リクエストあたりのスレッド数 STAT conn_yields 0 STAT bytes 11754 STAT curr_items 80 STAT total_items 719 # 累計アイテム数 STAT evictions 0 # 容量不足で追い出しされたアイテム数 STAT reclaimed 427 # 期限切れになったアイテムの領域を再利用した回数