memcahched的监控MemAdmin安装使用
一、Memcached安装
1.1安装
1、 wget http://memcached.org/latest 下载
2、 tar -zxvf memcached-1.x.x.tar.gz
3、 cd memcached-1.x.x
4、 ./configure && make && make test && sudo make install
注意:前提安装:libevent-dev apt-get install libevent-dev
cd /usr/lib64
ln -s /opt/memcached/deploy/libevent-2.1.8/lib/libevent-2.1.so.6 libevent-2.0.so.5
1.2启动
memcached -d -m 10 -u memcached -l 195.203.56.36 -p 11211 -c 100 -P /opt/logs/memcached/memcached.pid
参数说明:
-d选项是启动一个守护进程
-m是分配给Memcache使用的内存数量,单位是MB
-u是运行Memcache的用户
-l是监听的服务器IP地址
-p是设置Memcache监听的端口,最好是1024以上的端口
-c选项是最大运行的并发连接数,默认是1024
-P是设置保存Memcache的pid文件
-h 打印帮助信息
-v 输出警告和错误信息
-vv 打印客户端的请求和返回信息
获取运行状态
echo stats | nc 195.203.56.36 11211
watch "echo stats | nc 195.203.56.36 11211" (实时状态)
1.2twemperf测试工具
1.2.1安装twemperf
git clone git://github.com/twitter/twemperf.git
cd twemperf
autoreconf –fvi 注意需要前置环境:autoconf
CFLAGS="-ggdb3 -O0" ./configure --enable-debug --prefix=/opt/memcached/deploy/twemperf
Make
Make install
1.2.2安装autoconf
wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.65.tar.gz
./configure --prefix=/opt/memcached/deploy/aotoconf
Make
Make install
注意前置环境:libtool
1.2.3安装libtool
wget http://mirror.hust.edu.cn/gnu/libtool/libtool-2.4.tar.gz
./configure --prefix=/opt/memcached/deploy/libtool-2.4
Make
Make install
1.2.4twemperf使用
二、apache
2.1安装
http://httpd.apache.org/download.cgi
./configure --prefix=/opt/memcached/deploy/httpd-2.2.32--enable-module=shared
要加上后面的参数,否则无法使用php,-enable-module=shared表示Apache可以动态的加载模块
Make&&make install
2.2启停
启动,重启和停止 ,先切换到安装完成后的目录/=/opt/memcached/deploy/httpd-2.2.32/bin
./apachectl -k start
./apachectl -k restart
./apachectl -k stop
2.3配置文件(满足最基本的配置)
编辑=/opt/memcached/deploy/httpd-2.2.32/conf/httpd.conf 文件
找到:
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
在后面添加:
AddType application/x-httpd-php .php(使Apcche支持PHP)
AddType application/x-httpd-php-source .php5
三、php部署
3.1安装php
下载:http://www.php.net/downloads.php
php-5.6.30.tar.gz
./configure --prefix=/opt/memcached/deploy/php_5.6.30 --with-apxs2=/opt/memcached/deploy/httpd_2.2.32/bin/apxs --with-config-file-path==/opt/memcached/deploy/php_5.6.30
注意这里有一个-with-apxs2=/usr/local/apache/bin/apxs选项,其中apxs是在安装Apache时产生的,apxs是一个为Apache HTTP服务器编译和安装扩展模块的工具,使之可以用由mod_so提供的LoadModule指令在运行时加载到Apache服务器中
Make&&make test&&make install
3.2测试
重启apache
在apache的htdocs下建立一个php文件test.php,里面的内容如下:
<?php
phpinfo();
?>
在浏览器里输入http://127.0.0.1/test.php
如果出现php的相关配置,成功,如果什么都没有输入,说明失败,重新以上步骤或者查找原因
3.3安装memcached扩展
tar zxvf memcache-3.0.8.tgz
cd memcache-3.0.8
phpize
./configure --enable-memcache --with-php-config=/opt/memcached/deploy/php_5.6.30/bin/php-config --with-zlib-dir
由于是yum安装的php,可以使用find / -name php-config 查找php-config文件的位置
make
make install
显示:
Installing shared extensions: /opt/memcached/deploy/php_5.6.30/lib/php/extensions/no-debug-non-zts-20131226/
通过 php –ini查询php.ini的位置
Configuration File (php.ini) Path: /opt/memcached/deploy/php_5.6.30/lib
Loaded Configuration File: /opt/memcached/deploy/php_5.6.30/lib/php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed: (none)
从源码包中cp ./php-5.6.30/php.ini-development /opt/memcached/deploy/php_5.6.30/lib/php.ini
在php.ini文件中添加memcache扩展,使php支持memcache
vi /opt/memcached/deploy/php_5.6.30/lib/php.ini
在文件尾增加以下内容
extension_dir : /opt/memcached/deploy/php_5.6.30/lib/php/extensions/no-debug-non-zts-20131226/" (这里的路径就是上面make install完后显示的路径)
extension=memcache.so
检验memcache安装
php -m
在列表中应该可以找到memcache。
mcperf --linger=0 --timeout=5 --num-conns=100 --conn-rate=0 --num-calls=100 --call-rate=0 --sizes=d31 --method=set --server=195.203.56.36 --port=11211 --verbosity=0 --output=./result.txt
Options:
-h, –help : 显示帮助
-V, –version : 显示版本
-v, –verbosity=N : 设置日志级别(默认为5,最小0,最大11)
-o, –output=S : 设置日志文件(默认输出标准错误)
-s, –server=S : 设置需要测试的服务器(默认是本机)
-p, –port=N : 设置需要测试的端口(默认是11211)
-H, –print-histogram :打印响应时间的柱状图
-t, –timeout=X : 设置链接和响应的超时时间(默认是0秒)
-l, –linger=N : 设置TCP连接的断开时间(默认不开启)
-b, –send-buffer=N : 设置socket发送缓冲区大小(默认是4096字节)
-B, –recv-buffer=N : 设置socket接收缓冲区大小(默认是16384字节)
-D, –disable-nodelay : 显示TCP延迟
-m, –method=M : memcached的一些基本操作(例如set、get、add、delete等)
-n, –num-conns=N :设置连接数(默认是1)
-N, –num-calls=N : 设置每一个连接发送的请求数(默认是1)
-r, –conn-rate=R : 设置每秒建立多少个连接(默认是每秒0个连接,每一个连接在上一个连接断开后创建)
-R, –call-rate=R : 设置每秒发送的请求数(默认是每秒0个请求,每一个请求在上一个请求响应后发送)
-z, –sizes=R : 发送存储数据的大小(默认是1个字节)
执行结果参数中文解释:
Total:显示总的连接数,总的请求数,总的响应数以及测试所花费的时间。
Connection rate:实际每秒的连接数
Connection time:实际每个连接花费的时间(包括连接时间,set时间等)
Connect time:连接所花费的时间(仅仅是连接所用的时间)
Request rate:每秒的请求数
Request size:每个请求的字节大小
Response rate:每秒的响应数
Response size:响应的字节大小
Response time:响应的时间(单位毫秒)
Response type:stored表示存储的数量,not_stored表示没有存储的数量,
exists表示已经存在的数量(add时候用到),not_found表示没有找到的数量(get时候用到)